服务器性能衡量 ---- 解读 TPC-C值

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

解读tpmC

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

 

tpmC测试指标与硬件的关联度交易类型复杂程度发生频率访问表的数量(内存、磁盘IO相关)平均逻辑IO数目CPU的负载(%)新订单复杂交易45%84653付款复杂交易43%4811交货4%4708订单查询简单交易4%3121库存查询复杂交易4%340127上述5种交易中,除付货交易是事后批处理,其余4种皆为联机交易。要注意的是,在处理新订单的同时,系统还要处理其他4类事务请求。通常而言,新订单请求不可能超出全部事务请求的45%,因此,当一个系统的性能为1000tpmC时,它每分钟实际处理的请求数是2000多个。数据来源:www.tpc.org

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

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

  对于tpmC数值着迷的用户而言,一个现实问题是,实现高tpmC指标的代价是否能够承受,毕竟TPC-C都是很复杂的基准程序,做一个严格的测试非常消耗资源,厂商通常不会给TPC报告出全部花费的金钱和时间。

  实际上,正因为tpmC(其他评测指标也大都一样)受系统优化影响较大,业界对于是否应该在测试中进行优化向来争议颇多。在1993年, 当时三大IT公司的专家就对OLTP性能测试的优化提出过反对意见——DEC的 Jim Gray (现为TPC-C委员会专家) 与Walt Kohler 、天腾公司(TANDEN)的Charles Levine 和IBM的Steve Kiss共同发表了对OLTP性能测试指标是否应该进行人为优化的看法:

  “一个好的性能测试指标是不会依赖于特殊情况下的优化。最理想的情况应该是:一个测试指标在测试过程中所表现出的性质和能力, 以及对测试所做的优化能够确实提供对现实世界中用户实际应用的性能改进。然而,事与愿违,某些厂商迫于标准测试指标所带来的巨大市场压力,他们花费巨大的精力在如何改进测试结果的同时还能降低价格比率,而全然不顾所做的这一切优化究竟是否给用户带来了真实的利益。”

 

 

 

你可能感兴趣的:(TPCC,解读TPCC值)