正在阅读:主流基准测试TPC与SPEC解读主流基准测试TPC与SPEC解读

2007-08-07 16:05 出处:PConline 作者:网摘 责任编辑:gongjianhui

  


  用户总希望有一种简单、高效的度量标准,来量化评价服务器系统,以便作为选型的依据。但实际上,服务器的系统性能很难用一两种指标来衡量。包括 TPCSPECSAP SD、Linpack和HPCC在内的众多服务器评测体系,从处理器性能、服务器系统性能、商业应用性能直到高性能计算机的性能,都给出了一个量化的评价指标。在如此多的标准中,用户该如何选择最适合自身应用环境的评价体系呢?这里,我们选择了应用面较广泛的TPC和SPEC,作一个深入介绍。

  走出误区

  深入TPC-C指标

  TPC(Transactionprocessing Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。

  TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含5年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。 TPC在全球只有不到10名审核员,全部在美国。

  TPC-C使用三种性能和价格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC数值得出。

  解读tpmC

  从TPC-C的定义不难知道,这套基准程序是用来衡量整个IT系统的性能,而不是评价服务器或某种硬件系统的标准,而且tpmC 数值的高低直接受到各个环节的影响,右表大概可以说明系统设置对tpmC测试的影响。此处的“IT系统”包括服务器、外设(如硬盘或RAID)、服务器端操作系统、数据库软件、客户端及其操作系统、数据库软件和网络连接等。因此,如何解读tpmC数值会因不同的采购需求有非常大的差异。

  

TPC-C检测环境示意图

TPC-C检测环境示意图

tpmC测试指标与硬件的关联度


tpmC测试指标与硬件的关联度

  上述5种交易中,除付货交易是事后批处理,其余4种皆为联机交易。要注意的是,在处理新订单的同时,系统还要处理其他4类事务请求。通常而言,新订单请求不可能超出全部事务请求的45%,因此,当一个系统的性能为1000tpmC时,它每分钟实际处理的请求数是2000多个。数据来源:www.tpc.org

  以服务器为例。在很多厂家的TPC测试系统中,服务器的价格只是系统总价格的25%或更小,而硬盘的价格有可能占到总价格的30%以上,因为TPC-C要求被测系统必须保存180天的事务记录(这一趋势从一些最新的TPC-C测试结果来看,会愈演愈烈)。如果同样的服务器被用到用户的环境中,厂家报的tpmC值就意义不大,因为用户的实际系统与厂家原来用于TPC测试的系统大不一样。当同样的主机用在不同的系统中时,tpmC值可能有相当大的变化,现在许多用户还没有意识到这一点。

  尤其需要服务器采购用户注意的是,tpmC指标更多的是衡量从Client到终端网络的性能区域(如左图所示),而不是通常误认为的服务器到企业端网络的性能。由此可见,如果用户是建立一套全新的业务系统,那么无妨多借鉴tpmC的性能指标,如果只是采购某种或某些硬件设备,则需要参考更多的指标。

  相信实践:最佳检验方式

  众所周知,成熟的企业从不相信任何“国际通用标准”,而是花相当精力,比如预算的5%,使用自己的应用来测试系统,从而决定选型。“国际通用标准”的度量可以作为参考值,而不应作为必要条件。尤其是一定要弄清这些流行度量有什么含义,是在什么样的系统环境中测得的,以及基准程序是否符合企业真实的业务流程和运作模式。

  下面就是三种不同的检测模式。

  在真实环境中运行实际应用

  这是最理想的方式。要求制造商或系统集成商配合将系统(含平台、软件和操作流程)在一个 实际用户点真正试运行一段时间。这样,用户不仅能看到实际性能,也能观察到系统是否稳定可靠、使用是否方便、服务是否周到、配置是否足够、全部价格是否合理。

  使用用户定义的基准程序

  如果第一种方式不可行,用户可以定义一组含有自己实际应用环境特征的应用基准程序。业内有两个典型的例子:其一是,近年来由于3层应用模型的风靡,SAP SD基准获得了众多厂商和用户的认可,于是在很多地方都能看见对SAP测试数据的引用;其二是,国家税务总局曾经开发自己的基准程序,以帮助税务系统进行服务器选型。这种方式在中国尤其重要,因为中国的信息系统有其特殊性。

  使用通用基准程序

  如果前两种均难实行,那么使用如TPC-C之类的通用基准程序未尝不可。但用户应当尤其注意——实际应用是否与基准程序相符?绝大多数基准程序都是在美国制订的,而中国的企事业单位与美国的运作方式常常不一样,在使用TPC-C时,用户应该清楚地知道:自己的应用是否符合批发商模式?事务请求是否与测试模式近似?对响应时间的要求是否那么高?如果都不是,则tpmC值的参考价值就不太大了。那么不妨看看其他的更合适的测试指标,例如 SPECweb2005等。

  主流基准测试概览

  

主流基准测试概览

主流基准测试概览

  突出重点

  SPEC关注CPU和Web

  与TPC体系注重在线处理能力和数据库查询能力不同,SPEC体系中最广为人知的两个子项,是衡量CPU、内存性能的CPU2000和Web服务器性能的web2005。

  除了TPC家族,SPEC家族也是广为人知的一大体系。SPEC指标体系由Standard Performance Evaluation Corp.制定,目前主要包括针对CPU性能的SPEC CPU2000(已有CPU2006,但尚无数据)、针对Web服务器的SPECweb2005、针对高性能计算的SPEC HPC2002与SPEC MPI2006、针对Java应用的jAppServer2004与JBB2005以及对图形系统、网络和邮件服务器的测试指标。

  其中CPU2000和web2005两类是被引用最广泛的指标。

  CPU2000 注重CPU

  SPEC CPU2000 是一组针对 CPU 和内存的测试,它主要测试的对象是 CPU、内存,不测试硬盘、I/O 效率和网络等部分。SPEC CPU2000 由许多源代码程序组成,这些程序都从实际的应用(主要来自配置1~4颗CPU的工作站应用)中取出来的,例如 164.gzip 就是gzip 压缩程序。这些程序区分成“整数”和“浮点数”两组。SPECint2000 就是“整数”部分,而 SPECfp2000 则是“浮点数”部分。“整数”部分有 12 个程序,使用 C 或 C++ 语言,它们不使用CPU的浮点单元;而“浮点数”部分有 14 个程序,使用 FORTRAN 77/90 和C语言,这些程序的主要运算是浮点数的。

  SPECint2000 和 SPECfp2000 的结果,以执行时间为准。每个程序的执行时间和一个参考平台(Sun Ultra5/10 300MHz)相比,计算出其倍数。如果执行时间和参考平台相同,结果就是100。如果只花了一半时间完成,结果就是200。“整数”的12 个程序的结果,取其平均值,得到的就是SPECint2000 的测试结果。“浮点数”的 14 个程序也是一样。

  由于SPEC CPU2000的测试程序都是源代码形式(以保证跨平台测试),所以编译器效率就显得十分重要。SPEC CPU2000规定,测试结果有“Base”和“Peak”两种结果。“Base”测试中,对于编译时的最佳优化参数有所规定(所有的程序都需使用同样的参数,且参数数目不能超过四个),而“Peak”测试则比较宽松。

  另外,因为 SPEC CPU2000的程序都是针对单CPU的系统设计,因此,在多CPU系统上,如果要测试多CPU系统的效率,则是采取同时执行多个相同程序的方法,这个结果就是“Rate”。因此,同样有 SPECint_rate 和 SPECfp_rate 的测试结果。需要说明的是,“Rate”测试同时执行多个相同的程序,但程序之间并不会有关联,所以这是一种理论计算能力测试,并不代表实际并行计算能力。

  Web服务  参考Web2005

  SPEC web2005测试的原理是,通过多台客户机向服务器发出Http Get请求,请求调用Web服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好。

  目前SPECweb2005测试榜上,性能最高的是2005年11月发布的Sun Fire T2000系统,此系统的基本配置为1颗8核心的UltraSPARC T1(1.2GHz)/32GB内存/3×73GB万转SAS硬盘/Solaris 10/UFS文件系统/Java2 Runtime Environment,能够同时响应14001个Http请求。这一性能比排行第二的系统高出77%。如果用户知道两套系统的价格接近,那么就可轻易得知,采购Fire T2000作为Web服务器,性价比将比采购第二名的系统高出许多。

  不过SPECweb2005的缺陷也正在于此,它不像TPC-C那样要求厂商提供测试环境的总成本,对于实际采购的指导意义有所削弱。

  

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

服务器论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品