服务器测试

发表于:2007-9-20 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阳光    来源:网络转载

        时间推移一下回到2003年,我刚刚上班一年,那个时候在做一些预研课题的测试,一天我的老大交给我了一些工具让我研究下,好像是WebBench;NETBECH;SERVERBENCH和Bechmark Factory;我没有太在意在工作之余安装运行了一下,好像还遇到了很多的问题,然后就是看长篇的英文版主,后来好像也解决了,呵呵大家可能想看问题的解决,因为我提到了测试工具不急,不说这些没用的了,我们开始服务器性能评测;
        服务器性能评测,这里说的服务器不是我们常说的那种提供Web服务,FTP服务的服务器软件,而是硬件服务器,要评测的也是硬件服务器可以提供服务的能力。这种测试一般在采购服务器的时候或者做选型的时候进行性能测试。那么如何进行测试呢?
1.1 评测标准
        首先我们看一下服务器的评测标准,在服务器性能测评方面现行主要有两个标准机构:SPEC(标准性能评估机构)和TPC(事物处理性能委员会)。
        SPEC(the Standard Performance Evaluation Corporation标准性能评估机构)是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。
        TPC(Transaction Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。
1.1.1 SPEC标准性能评估机构
        SPEC服务器应用性能测试是一个全面衡量Web应用中java企业应用服务器性能的基础测试。在这个基准测试中,系统模拟一个现代化企业的电子化业务工作,如客户定购查询、产品生产制造管理、供应商和服务器提供商管理等,给系统以巨大的负载,以全面测试运行典型java业务应用的服务器性能水平。
        由于它体现了软、硬件平台的性能和成本指标,被金融、电信、证券等关键行业用户作为选择IT系统一项权威的选型指标。该测试是目前业界标准的、权威的基准测试之一,得到众多国际软硬件厂商如Intel、BEA、Oracle、IBM、SUN等的支持和参与。SPEC体系中最广为人知的两个子项,是衡量 CPU、内存性能的CPU2000和Web服务器性能的web2005。
        SPEC指标体系由Standard Performance Evaluation Corp.制定,目前主要包括针对CPU性能的SPEC CPU2000(已有CPU2006,但尚无数据)、针对Web服务器的SPECweb2005、针对高性能计算的SPEC HPC2002与SPEC MPI2006、针对Java应用的jAppServer2004与JBB2005以及对图形系统、网络和邮件服务器的测试指标。
CPU2000 注重CPU
        SPEC CPU2000(已经有新的SPEC CPU2006,在2007年将逐渐代替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那样要求厂商提供测试环境的总成本,对于实际采购的指导意义有所削弱。由于SPEC是一个非赢利的标准化组织,通过SPEC得到的测试值是一种严格标准化的测试结果,因此只要按照SPEC提供的测试原则和测试流程对系统进行操作,其最终结果将能够得到业界主要服务器厂商和用户的认可。
1.1.2 TPC基准测试
        TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含5年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。 TPC在全球只有不到10名审核员,全部在美国。
        TPC推出过11套基准程序,分别是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,过时的TPC-A、TPC-B、TPC-D和TPC -R,以及因为不被业界接受而放弃的TPC-S(Server专门测试基准程序)、TPC-E(大型企业信息服务测试基准程序)和TPC- Client/Server。而目前最为“流行”的TPC-C是在线事务处理(OLTP)的基准程序,于1992年7月完成,后被业界逐渐接受。
        TPC-C使用三种性能和价格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC数值得出。
        从TPC-C的定义不难知道,这套基准程序是用来衡量整个IT系统的性能,而不是评价服务器或某种硬件系统的标准,而且tpmC数值的高低直接受到各个环节的影响,右表大概可以说明系统设置对tpmC测试的影响。此处的“IT系统”包括服务器、外设(如硬盘或RAID)、服务器端操作系统数据库软件、客户端及其操作系统、数据库软件和网络连接等。因此,如何解读tpmC数值会因不同的采购需求有非常大的差异。
1.1.3 其他测试基准
        除了以上介绍的两个测试标准外还有其他的一些服务器标准测评指标,如Linpack它测试CPU密集浮点运算性能。以下是服务器评测的一些Benchamark软件:
        1) SPECweb99 相对简单的webserver 的基准测试;
        2) SPECweb99_SSL SPECweb99 的SSL版本;
        3) SPEC SFS97 基于NFS的file server的基准测试;
        4) SPECmail2001 电子邮件系统的基准测试;
        5) SPECjbb2000 基于Java的业务的基准测试;
        6) ECperf 企业Javabean的基准测试- 马上将被SPECjAppServer2001代替;
        7) SPEC CPU2000 整数和浮点运算的基准测试;
        8) SPEC OMP2001: 测试基于OpenMP并行化的并行应用性能的基准测试;
        9) TPC-C 老事务处理的基准测试;
        10) TPC-H Ad-hoc 查询以及决策支持的基准测试;
        11) TPC-R 商业报告以及决策支持的基准测试;
        12) TPC-W 基于事务处理的互联网电子商务的基准测试;
        13) Oracle Applications benchmark:Oracle应用程序的基准测试;
        14) Fluent CFD benchmarks:Fluent公司计算流体动力的基准测;
        15) Server and workstation benchmark records at Ideas International:Ideas International Limited (IDEAS)公司的服务器和工作站的基准测试(包括产品的性能,价格,服务)。
31/3123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 紫毓E
    2012-11-08 22:36:56

    汗!感觉好深奥!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号