常用性能测试指标解读与使用价值分析
一个好的IT管理系统不是市面上技术最最先进、价格最昂贵、由世界上最顶尖的企业和研发团队开发出来的系统,而是在企业预算范围内、最能够被企业IT管理人员接受、与企业业务结合最紧密、能够为企业创造更大的投资回报率的IT系统。
在今天竞争激烈的市场中,IT管理能力是企业成功的关键。每一个企业都希望花最少的钱获得一个性能最强、使用最便利、安全性最高、与企业业务结合最紧密的IT管理系统。一个好的IT系统能够提高企业管理效率,降低企业运营成本、提升企业在市场上的整体竞争力。 一个好的IT管理系统不是市面上技术最最先进、价格最昂贵、由世界上最顶尖的厂商和研发团队开发出来的系统,而是在企业预算范围内、最能够被企业IT管理人员接受、与企业业务结合最紧密、能够为企业创造最大的投资回报率的IT系统。 对不同的企业来说,评估IT系统的方法和手段应该是完全不一样的。不同企业的规模不一样、业务类型不一样、赢利能力和发展阶段也不一样,要建立一个放之四海而皆准的标准来指导所有企业进行IT系统的选型,这几乎是不可能的。 对于金融、石油等大型企业来说,IT信息系统崩溃给他们造成的利润损失比一般的中小企业来说大得多,他们的数据规模大得多,他们能够在IT系统方面的投入也大得多,因此他们可以尝试去从更大的厂商手中购买性能更高、扩展更更好、技术支持力度最强的IT系统。而这对于一个中小企业来说简直是不可想象,因为购买这样一套系统的花费甚至要超过他们全年的营业收入。 然而,中小企业在全球范围内都是经济的主体。他们不仅仅数量庞大,而且市场反应敏捷,更容易找到新的市场增长点,在市场变革中能够起到的更大作用。尽管,他们单个对整个市场经济增长总额贡献力度不大,但他们在市场持续创新中所起到的积极作用某些时候甚至要超过那些大规模的品牌企业。中小企业要在市场生存,更需要保持自身在技术或者市场上的前瞻性,因此中小企业在某些层面上对IT系统的需求程度更强烈。 目前,市面上能够找到从中小企业实际应用需求出发,与中小企业业务结合程度很紧密的性能测试指标系统少之又少。现在市面上流行的性能测试指标,比如TPCC、SPEC、SAP SD,尽管历史非常悠久,基准测试实施和验核者都是世界范围内的权威机构,这些基准测试的通用性也非常强,但是他们由于对企业实际的个性化应用需求关注不够,对于中小型企业来说参考意义当然也不会很大。因为,不管从硬件和软件考虑,中小企业的业务都有太多特殊性。从这个意义上来说,建立一套从中小企业实际应用需求出发的实用性能评估系统对中小企业IT系统选型至关重要。而建立起这样一套实用的性能评估的前提就是对TPCC、SPEC、SAP SD这些世界性通用性能指标体系有一个更全面、更深入的了解。
TPCC
TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。 TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。特别值得一提的是,它将专门测量系统在同时执行其它四种事务类型(如支付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量。独立审计机构将负责对基准测试结果进行公证,同时,TPC将出据一份全面彻底的测试报告。这份测试报告可以从TPC Web站点(http://www.tpc.org)上获得。
tpmC定义: TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟。
1.TPC-C规范概要
TPC-C是专门针对联机交易处理系统(OLTP系统)的,一般情况下我们也把这类系统称为业务处理系统。
TPC-C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。
该系统需要处理的交易为以下几种:
New-Order:客户输入一笔新的订货交易;
Payment:更新客户账户余额以反映其支付状况;
Delivery:发货(模拟批处理交易);
Order-Status:查询客户最近交易的状态;
Stock-Level:查询仓库库存状况,以便能够及时补货。
对于前四种类型的交易,要求响应时间在5秒以内;对于库存状况查询交易,要求响应时间在20秒以内
2.评测指标 TPC-C测试规范经过两年的研制,于1992年7月发布。几乎所有在OLTP市场提供软硬件平台的厂商都发布了相应的TPC-C测试结果,随着计算机技术的不断发展,这些测试结果也在不断刷新。
TPC-C的测试结果主要有两个指标:
● 流量指标(Throughput,简称tpmC) 按照TPC的定义,流量指标描述了系统在执行Payment、Order-status、Delivery、Stock-Level这四种交易的同时,每分钟可以处理多少个New-Order交易。所有交易的响应时间必须满足TPC-C测试规范的要求。 流量指标值越大越好!
● 性价比(Price/Performance,简称Price/tpmC) 即测试系统价格(指在美国的报价)与流量指标的比值。 性价比越小越好!
3.结果发布 各厂商的TPC-C测试结果都按TPC组织规定的两种形式发布:测试结果概要(Executive Summary)和详细测试报告(Full Disclosure Report)。测试结果概要中描述了主要的测试指标、测试环境示意图以及完整的系统配置与报价,而详细测试报告中除了包含上述内容外,还详细说明了整个测试环境的设置与测试过程。 。#p#page_title#e#
SPEC
什么是SPEC测试
SPEC(The Standard Performance Evaluation Corporation)标准性能评测机构,是国际上对系统应用性能进行标准评测的权威组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。目前包括8大测试规范、26种测试模型。 该组织成立于1988年,是由斯坦福大学、清华大学、微软、等全球几十所知名大学、研究机构、IT企业组成的第三方测试组织。SPEC经过多年的发展积累,该测试标准得到了全球众多用户的广泛认可。
SPEC2004服务器应用性能测试是一个全面衡量Web应用中Java企业应用服务器性能的基准测试,是SPEC2002的升级版本,一个新的行业标准基准测试。 SPEC2004测试采用JOPS(每秒总的操作次数)作为测试结果的衡量标准(SPEC2002测试结果的衡量标准与此相同,但表示为TOPS),JOPS为订单事务数加上制造工作订单数,再除以以秒为单位的测试时间。
SPEC2004与SPEC2002相比,具有实质区别,它更为严格和完善,更为复杂。 SPEC2004 的测试模型基于一个规模庞大、极为复杂、足以代表现实世界电子商务系统的分布式应用程序。模拟电子化业务工作模型体现了软、硬件平台整体解决方案的性能指标全面衡量应用服务器、数据库服务器硬件各子系统的性能被众多用户作为选择硬件设备的选型指标。
SPEC2004测试的价值 SPEC服务器应用性能测试是目前业界最标准和权威的基准测试之一。SPEC2004测试的对象是一个可以在实际中直接应用的完整解决方案,包括硬件、操作系统和中间件三个层次。SPEC评测理念核心,即通过平台及方案评测能够给应用提供具有重要参考意义的数据,而不是为了评测而评测。SPEC测试完全模拟现实使用需求,讲求参测系统整体上的性能和在实际应用中的表现,这样用户在购买产品的时候能够根据SPEC的评测数据更真实地了解到自己选择的产品到底在实际应用中表现如何,而不再是只能看到一堆厂商提供的宣传参数。
SPEC服务器应用性能测试的测试成绩可以为如下行业应用的系统采购提供重要的参考指标。
1. 银行:银行综合业务系统、银行证券交易系统、信用卡业务系统、综合业务计算机网络系统等
2. 金融证券:国税统一税收征管系统、基金注册和交易系统平台建设、证券集中交易系统
3. 保险:保险企业综合业务系统建设
4. 电信:电信计费系统、综合计费帐务系统、客服系统平台建设、用户认证和管理系统、移动计费营业系统、联通综合客服系统、宽带运维系统
5. 政府:大中型电子政务系统
SPECweb
SPECweb96: 在SPECweb96基准测试程序上实现的每秒钟超文本传输协议(HTTP)操作最多次数,响应时间无明显退化。 SPECweb99: 接入数,网络服务器可用预先确定的工作量支持的同时接入数。SPECweb99检测设备模拟客户通过慢Internet联接,向网络服务器发送HTTP工作量请求。 SPECweb99 测试Web服务器运行状况
SPECweb99 是由标准性能评估组织(SPEC)开发的Web服务器基准测试。它测量满足特定吞吐量和客户请求响应速率要求的WEB服务器的最大并发连接数量。并发连接的合计波特率在320 Kbps到400Kbps范围内,则满足相应规范。 SPECweb99 在一台称为主客户端的机器上运行,这台机器上包含有允许用户加载特定负载请求的配置文件。主客户端也要处理在客户端和服务器或测试中的系统(SUT)之间的传输协调问题。客户端通过许多子进程/线程生成独立HTTP请求流,仿真足够的负载发送给SUT。
在这个测试中,客户端向测试中的服务器发送请求数据。测试规范要求客户端和服务器之间的连接不能使用片段大小大于1460比特的TCP协议。因此,每一个客户端读取1460比特或更少数据块的响应。
测试中使用两种类型的负载量: 静态负载. 静态负载具有四种类型的文件。最小的文件的增幅为0.1KB,第二种文件类型的增幅为1KB,最后两种类型的文件的增幅为10KB和100KB。每一个目录包含每种类型9个文件共36个文件。
目标请求的文件类型在各类型中分散使用。在每一类中的9个文件中又进行二次分布。最终目标文件混合为: 35%的请求文件小于1 KB 50%的请求文件小于10 KB 14%的请求文件小于100 KB,但是大于或等于10 KB 1%的请求文件小于1000 KB,但是大于或等于100 KB 动态负载.动态负载是基于广告和用户注册。共有四种在SPECweb99中使用的请求内容类型,分别是标准动态取操作、动态随机取操作、动态发送操作和客户图形接口动态取操作。标准动态取操作和客户图形接口动态取操作表现web服务器的简单广告轮转特性。带有广告轮转的动态取操作追踪用户和用户选择,所以广告可以由不同的方式来定制。最终,动态发布实施一个用户注册在相应的网站上。
SAP SD
SAP R/3销售与分销(SD)强调用世界一流的方法服务于全世界用户。销售与分销(SD)是一种处理过程驱动的应用,全面集成于R/3系统中。作为面向真实企业系统运行性能的关键性衡量方式,SAP SD基准测试将模拟系统在维持可接受响应时间的情况下所能处理的最大并行用户数量。SAP SD基准测试是业内最为消耗CPU的基准测试项目之一,它已成为一种面向SAP运行环境合作伙伴的标准测试方式。这项基准测试由18个用于反映指定商业事务的步骤组成。SAP R/3系统采用具备数据库层、应用层和表示层的客户端/服务器体系结构。这项测试所采用的配置方案为三层结构,其中每一层均在相互独立的系统上运行。
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 透过以上叙述,我们可以看到不管是TPCC、SPEC还是SAP SD,他们的测试时的所使用的业务逻辑都是非常清晰,测试过程非常严格,因此从定量的指标来看,具有非常好的普遍性。但测试过程中对测试的硬件、软件平台要求都非常高,而且测试过程中所所模拟的应用环境跟那些独立的、特殊的企业应用需求都有较大差异,而且大多数测试都是由国际性的领导厂商做出的,这些国际性厂商在测试环境配置和专业测试工程师配备上都有得天独厚的便利。而这一切便利是不可能完全原封不动得保留到终端用户手中。换句话说,终端用户即使购买了与测试过程中同样的硬件平台,并且搭建了同样的软件环境,但是要在实际应用中跑出同样的benchmark,那就好比用训练奥运冠军的方式同样训练一个普通人然后指望他到奥运赛场上取得奥运金牌一样荒唐。 因此,如何从企业的实际应用需求出发,在企业现有的预算条件和技术人才配备的条件下,去拟合与企业现实应用环境来选择最贴近的测试场景,同时吸纳TPCC、SPEC、SAP SD这些专有测试在测试过程的严密性及可靠性方面的优势,对指导中小企业IT系统选型至关重要。