|

一个典型的SPECweb2005实验环境
TPC-W衡量电子商务环境
TPC-W是衡量服务器在电子商务环境中性能的另一项重要基准测试。
TPC-W表现了在一个站点上多个服务器和WEB应用联合工作,服务于仿真浏览器的请求,它关注的焦点是整个系统。
在一个TPC-W的测试中,主要的测试项目是每秒钟内完成的网络信息交换数量(WIPS),每WIPS的花费($/WIPS)以及下订单时的网络交换数量。另外在这些测试项目中,测试者必须提供所有主要子系统的性能参数,诸如处理器、内存、磁盘和网络等所有服务器审计运行中所需要的项目。
TPC-W的负载包含针对不同网页的处理,每一个网页都是在电子商务中必要的操作。例如,用户可以测试使用任何浏览器进行的主页浏览、查询、观看查询结果、购买产品、确认订单、检查订单状况,甚至于执行管理操作。
TPC-W提供一个从系统角度出发的电子商务解决方案,全面地体现独立操作系统性能。尽管有些方面还不完善,但是TPC-W确实为最终用户提供了许多平时得不到的原始数据和信息。
第四节:Java应用服务器的基准
Java从诞生的时刻,就因为它的方便性而注定了必定流行。
最近,一项全新的SPECjAppServer2004基准测试性能世界记录诞生了--配置了两颗四核核英特尔至强处理器、装备Linux操作系统的浪潮英信NF280D(Inspur NF280D)服务器,在运行带有BEA JRockit 5.0 JVM的BEA WebLogic Server 10时,创下了同类配置的SPECJAppServer2004基准测试世界纪录,系统处理能力达到了1538.65JOPS@Standard(每秒处理事务数)。
这个新的基准测试性能,对一个服务器来说,到底意味着什么?对企业又有什么意义呢?这先得从头说起。
今天,许多应用软件都是用Java编写的,它的优势很明显,就是经过一次编写后可运行在不同的操作系统平台上,有很大的灵活性。但是,不同的Java版本运行在不同的硬件平台上,会反映出不同的性能。如何判定不同硬件平台运行Java程序的效率,是Java使用者所普遍关心的问题,而SPEC jbb2004就是一项被广泛采用的Java虚拟机性能基准测试,它的前身是SPEC jbb2000。
SPECjbb2004是SPEC委员会制定的一套Java基准测试程序,用于测试Java服务器性能,但是并不考察到网络、磁盘I/O、和图形处理能力。SPECjbb2004模拟了三层客户/服务器模型结构,所有的三层结构都在一个JVM(Java虚拟机)内实现。
这三层结构模拟了一个典型的商业应用结构:第一层是用户(客户端输入);第二层是商业应用逻辑;第三层是数据库。在SPECjbb2004里,第一层是用进程或线程模拟客户系统的随机输入;由Java类和Java对象形成的Btree模拟第三层的数据库;在第二层里是对Btree数据库中的数据进行操作,其机构图如下:

SPECjbb2004基准测试借用了TPC-C基准测试的概念、输入产生、和交易模式。只不过,SPECjbb2004用Java类取代数据库中的表(Table),用Java对象取代数据库中的记录(Record)。SPECjbb2004主要关心的是第二层业务逻辑的处理能力,即考察用Java编写的应用程序运行在某台服务器上所表现出的性能。
SPECjbb2004规则中要求只运行一个Java虚拟机(JVM)。在整个测试中,JVM(Java虚拟机)、JIT(即时编译)、操作系统的内核处理、CPU的整型处理能力、Cache的大小、服务器SMP的线性扩展能力等因素都会成为影响测试性能的关键。不过,测试值的好坏更多的依赖于Java虚拟机的性能,而且受系统带宽的影响较小。在硬件平台不变的情况下,JVM版本的升级会带来性能几倍的提升。
SPECjbb2004反映的是Java虚拟机的性能,但在实际中该值常被用来说明服务器的扩展性,有些厂商甚至用它来证明服务器的性能是最优的、扩展能力是线性的。其实,SPECjbb2004基准测试完全是在内存中运行,不涉及I/O操作、网络操作等。如果用它来衡量服务器的整体能力和扩展性,这未免以点带面过于主观,TPC-C、Oracle ASB11i、SAP等这些基准测试更能贴近客户的实际情况,更能代表服务器的性能和扩展性。 |