HPC采购参照-服务器性能基准测试(7)

时间:2008-11-26   来源:   网友评论:0   人气: 1333 作者:

这三层结构模拟了一个典型的商业应用结构:第一层是用户(客户端输入);第二层是商业应用逻辑;第三层是数据库。在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等这些基准测试更能贴近客户的实际情况,更能代表服务器的性能和扩展性。第三回:专用基准测试探悉世间万物,既有以广度取胜者,也有以深取胜者。在基准测试体系中,随着企业级应用的不断扩展和深入,一些应用很广泛的软件平台逐渐衍生出了自己专属的Benchmark体系,以方便用户衡量这些软件平台在某服务器上的运行效率,这就是专用基准测试。实际上,除了TPC、SPEC两大基准测试体系以及Linkpack等具有普遍意义的的基准测试以外,业界还创立了许多专用基准测试,用以衡量服务器运行某些专有应用的性能,目前较为广泛的包括SAP基准测试、Oracle基准测试、邮件服务器基准SPEC mail2001等。这里,我们以流行度很高、企业应用种也很普遍的Oracle基准测试为例,来熟悉一下专用基准测试是如何来对服务器性能进行度量的。Oracle应用标准基准包含两个主要的组件:在线组件和批处理组件。在线组件可执行多数用户都会频繁使用的通用用户界面(UI)流。批量流包含订单导入(Order Import)程序(大批量订单处理),主要用于按批量模式处理和导入订单。Oracle应用标准基准理事会(Oracle Applications Standard Benchmark Council)是一个由多家硬件企业、Oracle产品开发和Oracle产品线事业群的代表组成的机构。该机构推出的Oracle应用性能基准测试指标(Oracle Applications Standard Benchmark)是一种可比较的标准工作负载。硬件厂商可以使用这种基准测试对系统进行压力测试,使其能够满足较高水平的用户并发请求,并且在响应时间保持在可接受范围内的同时,获得尽可能高的用户数,使用户可以对不同系统配置上的Oracle应用性能进行对比。用户数可测量系统能够支持的并发Oracle应用用户数量,并且在支持这一用户数量的同时,系统仍然能够将响应时间保持在预先定义的最大值以内。用户进程是由他们所执行的事务类型来定义的,而每个用户都将保持一个最低的每小时事务率。事务率和工作负载的组合都不会随着系统负载或响应时间的增加而发生变化。Oracle应用标准基准可使用一系列选定的最常用Oracle应用模块来模拟真实的客户场景。有些事务的定义会对基准进行对比,这些定义是通过与实施顾问的协作而获得的,而且它们都具备OLTP、批处理和自助服务组件。后记:测试与应用的关系如果脱离实际,那就会沦为纸上谈兵。


 

相关文章

文章评论