我与性能测试有个约会
契子晚上了打开笔记本,想写些什么,今天刚刚决定在17testing(一起测试网)做版主。在家里就想写些什么了;也许偶然的灵感吧,想到这个题目—— 《我与性能测试有个约会》,觉得很有意思,在很早的时候看过一本小说叫做《我与什么有个约会》,记不太清楚了;也许是联想吧;有的时候发现我也是一个很喜欢联想的人;在听着键盘卡达卡达的声音的时候就觉得很有意思,很充实,浮想联翩。
我阳光毕业与2002年,看过我的《写给测试新手》的文章的人应该都知道,我的机遇不错遇到了好的工作机会和几个不错的老师,想起来就很觉得幸运,但是幸运也是给与有准备的人和勤奋的人,机会很重要,能抓住机会更重要。那么我们如何抓住机会呢,就像谈恋爱,也许有个约会不一定可以成为恋人伴你一生,使你终身受益;那么我们要抓住机会抓住这个约会发展下去,成为行业的成功者,或者说成为这个领域的高手。
我在一家第三方的测试机构工作5年,做的测试很多,有功能的也有性能的还有安全评估的,总之5年做了各种各样的测试,不过我还是觉得比较喜欢做性能测试,不是我对其他测试有偏见,只是个人的看法。我觉得做性能测试很有意思,很能有成就感,通过你的测试可以知道被测系统的优势和缺点,可以很定量的告诉用户或者领导,某某系统的最并发用户是100个、某某路由器的吞吐量在64字节的时候是40Mbps;某某防火墙的64字节数据包40Mbps情况下的延时是2 秒等等,很清晰很明确的就能让领导知道你要说什么,也很明白让用户知道他的系统能够承受的压力等等;还有一点就是在做性能测试的时候特别是长时间的性能测试,在运行期间可以拿着一个本子,一段时间去记录一次数据。最后有系统给出测试结果。有成就感又很轻松。所以很多人都比较羡慕做性能测试的工程师,开始我也是。但是做性能测试有性能测试的烦恼,性能测试一般不能是手工测试,应为要精准的统计结果,或者做出大量的负载一般情况下手工是做不到的,(不过有的时候也肯会有手工做性能测试的比如早期的时候测试IDS的报警时间,那个时候我们用秒表计时现在我也没有太好的方法,要是那个读者知道可以告诉我。)这样就需要测试工具或者专门的测试仪表来配合使用。这样我们做性能测试的时候除了要分析被测系统,开发测试方案,同时还要掌握性能测试工具的使用(现在有些误区有些网友一提起性能测试很快就会想起LR QAload等测试工具来,甚至有的认为会了这些工具就会了性能测试。)同时还要分析测试工具给出的测试报告;有的时候你会发现不是被测系统的问题而是测试工具的问题,所以在做性能测试之前除了要做性能测试还要对测试工具进行验证分析等工作(我们称为测试工具的校验或校准)。
呵呵有些跑题了,罗里啰唆的说了这么多,也不知道是不是找不到北了,(我找不到了);那么我这个与性能测试的约会要怎么写呢,我想这样,从我开始做性能测试到现在做的各种性能测试,我按照被测系统的类别来分,每个测试类别写一章,也许这个文章很长,也许会用到很多测试工具和方法,也许方法已经过时,但是我想只要能给大家一个参考我就没有白写,还有一个问题要说一下,我在写的过程中可能会有一些错别字,要是大家实在看不懂可以在后面跟贴我来帮大家看呵呵,今天就到这里,先把契子写了,也算我对17testing的一个原创承诺!说一下大体安排:
第一章:服务器性能评测
第二章:防火墙性能测试
第三章:NIDS性能测试
第四章:Web性能测试
第五章:音频识别系统性能测试
第六章:封堵系统性能测试
第七章:搜索引擎类性能测试
第八章:信息检索类性能测试
第九章:邮件服务类和FTP协议相关类性能测试
第十章:流媒体性能测试
服务器测试
时间推移一下回到2003年,我刚刚上班一年,那个时候在做一些预研课题的测试,一天我的老大交给我了一些工具让我研究下,好像是WebBench;NETBECH;SERVERBENCH和Bechmark Factory;我没有太在意在工作之余安装运行了一下,好像还遇到了很多的问题,然后就是看长篇的英文版主,后来好像也解决了,呵呵大家可能想看问题的解决,因为我提到了测试工具不急,不说这些没用的了,我们开始服务器性能评测;
服务器性能评测,这里说的服务器不是我们常说的那种提供Web服务,FTP服务的服务器软件,而是硬件服务器,要评测的也是硬件服务器可以提供服务的能力。这种测试一般在采购服务器的时候或者做选型的时候进行性能测试。那么如何进行测试呢?
2.1 评测标准
首先我们看一下服务器的评测标准,在服务器性能测评方面现行主要有两个标准机构:SPEC(标准性能评估机构)和TPC(事物处理性能委员会)。
SPEC(the Standard Performance Evaluation Corporation标准性能评估机构)是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。
TPC(Transaction Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。
2.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提供的测试原则和测试流程对系统进行操作,其最终结果将能够得到业界主要服务器厂商和用户的认可。
2.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数值会因不同的采购需求有非常大的差异。
2.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)公司的服务器和工作站的基准测试(包括产品的性能,价格,服务)。
2.3测试工具
2.3测试工具2.3 测试工具
服务器的性能评测工具很多,在互连网上也有不少免费的和开源的评测工具,今天我们在这一部分就分为网络版和单机版网络类来介绍用于服务器评测的工具。
2.3.1 单机版评测工具
1) SPECCPU2000
SPEC CPU2000是SPEC组织推出的一套CPU子系统评估软件,它包括CINT2000和CFP2000两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能。计算系统中的处理器、内存和编译器都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2000的影响非常的小。
在测试过程中需要在被测服务器中安装了Intel C++ 8.1 Compiler、Intel Fortran 8.1 Compiler这两款SPEC CPU2000必需的编译器,另外安装了Microsoft Visual Studio 2003.net提供必要的库文件。按照SPEC的要求可以根据自己的情况编辑了新的Config文件,进行满足Base的测试。
SPECfp_rate2000测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、DCC 以及科学计算等方面应用可以参考这个结果。SPECint_rate 2000测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。
SPEC CPU现行最新版本是SPEC CPU2006相关的测试数据和工具的使用文档可以在SPEC的网站上进行下载,此软件没有提供免费试用版,在互联网上也比较难下到免费版或者破解版,如果应用这个软件需要购买,具体信息可以在SPEC的网站上进行查询。
2) ScienceMark2
ScienceMark2软件测试主要分为两部分,首先的是对处理器Cache以及系统内存速度的性能评估。对于测试结果我们还是采用的对比的模式,大家可以清楚的看出,无论在L1 Cache还是L2 Cache以及系统Memory的TEST中,I925XE平台的结果都要领先一些,但相应的来说还是内存的测试结果差别更大。
ScienceMark最重要的功能是进行量子化学方面的计算,由于它在计算后会给出运行时间,所以还能当作很好的测试CPU性能的软件。我们进行了两种计算,其中Molecular Dynamics是对140开尔文温度下216个氩原子进行分子动力学模拟;Primordia测试是对钷元素61个电子的薛定谔方程求量子解。通过这些测试,基本上能体现出CPU、内存的性能高低,以上就是测试结果,单位是秒,数值越小表明性能越好。
3) Sisoft Sandra
Sisoft Sandra(www.sisoftware.co.uk): WINDOWS下基准评测系列测试软件是Windows系统下的基准评测软件。此软件有超过三十种以上的测试项目,能够查看系统所有配件的信息,而且能够对部分配件(如CPU、内存、硬盘等)进行打分(benchmark),并且可以与其它型号硬件的得分进行对比。另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。(此软件可以在网上下载到破解版,具体信息可以在google里进行搜索)
4) IOmeter
Iometer(www.iometer.org):存储子系统读写性能测试工具是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、 CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,通过模拟实际应用的读写环境进行测试。(此软件是一个免费的小软件可以在网站上得到下载)
5) Ubench
Ubench是在Unix或者linux操作系统中来评价CPU和内存以及AVG的性能的;它的评测原理是:通过多块CPU执行整数运算和浮点运算3分钟的到的结果是CPU性能基准。通过对内存进行读写操作3分钟即为内存基准。
6) IOzone
Iozone(www.iozone.org)是一款Linux下I/O性能基准测评工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。测试结果生成excel文件。另外iozone还附带了用gnuplot画图的脚本,可以将测试结果以图形方式表现。该软件用在大规模机群系统上测试NFS的性能,更加具有说服力。
[ 本帖最后由 阳光 于 2007-6-5 08:04 编辑 ]
图片附件: [下面的测试成绩是在开启双Xeon处理器超线程条件下,4用户,SPECint_rate_base2000和SPECfp_rate_base2000。] 09.JPG (2007-6-5 08:04, 36.07 K)
图片附件: [以下是一个服务器的测试结果] 10.JPG (2007-6-5 08:04, 60.01 K)
图片附件: 11.JPG (2007-6-5 08:04, 56.41 K)
图片附件: 12.JPG (2007-6-5 08:04, 86.69 K)
图片附件: 13.JPG (2007-6-5 08:04, 60.56 K)
2.3.2 网络版测试工具
2.3.2 网络版测试工具网络版测试工具是需要在测试服务器性能的时候搭建一定的应用网络,通过客户端服务器的形式来评测服务器的性能,我们要介绍以下常用的测试工具:
1) Netperf
Netperf可以测试服务器网络性能,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。
Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是 netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。
2) NetIQ Chariot
Chariot的基本组成包括Chariot控制台和Endpoint。其中Chariot控制台可以运行于Microsoft的各种Windows平台。在Chariot控制台上可以定义各种可能的测试拓扑结构和测试业务类型。
Endpoint可以运行在几乎目前流行的所有操作系统上。Chariot Endpoint能够充分利用运行主机的资源,执行Chariot控制台发布的Script命令,从而完成需要的测试。
图:附录2-4:Chariot应用方式图
利用Chariot可以进行网络维护,性能测试和故障定位, Chariot支持多种网络业务,内置超过120个业务脚本,如FTP,HTTP,IPTV,Netmeeting,RealAudio等。Chariot可以支持以下测试。
1) Chariot支持IP TOS,GQoS,DiffServ;
2) Chariot能实现单个主机可以模拟超过2000个主机;
3) Chariot支持组播业务;
4) VoIP网络测试与业务质量评估:支持6种VOIP Codec(G.711a,G.711a ,G.723.1-ACELP,G.723.1-MPMLQ,G.726,G.729);
5) 支持MOS评分,便于对VOIP网络进行实时分析;
6) 能够对电信终端进行性能测试和评估: 能够测试网卡(10/100/1G/无线/蓝牙),xDSL调制解调器,Cable Modem, ISDN。终端,普通调制解调器,GPRS手机,CDMA手机;
7) 测试防火墙及应用网关。
Chariot是最优秀的软件测试工具之一,被全球最大的电信运营商们所采用,是保证网络健康运行的利器。Chariot具有以下优势:
1) 利用Chariot,无需进行硬件投资,可以利用当前几乎所有的计算机资源进行测试;
2) Chariot支持包括VoIP在内的超过120种业务的测试;
3) 使用Chariot,电信运营商可以灵活的设计测试结构,对网络全方位进行测试(当前业务质量,可能开通的业务质量,网络升级预计);
4) Chariot具有GUI界面和集中控制功能,能够产生图形化报表和详细测试数据,大大降低的测试的复杂性;
5) Chariot提供开放的API接口,用户可以构筑个性化的测试软件;
6) Endpoint支持几乎全部的操作系统 ,Endpoint支持的操作系统有:Compaq Tru64 UNIX、FreeBSD UNIX、HP-UX、IBM AIX、IBM MVS、IBM OS/2、Linux 、Linux IA-64、Microsoft Windows 3.1、Microsoft Windows 95、Microsoft Windows 98/Windows Me、Microsoft Windows NT/2000/XP/XP(64-bit)、Novell Netware、Sco UNIXWare、SGI IRIX、Spirent Communications TeraMetrics、Sun Solaris。
3) NetBench
NetBench主要用来测试文件服务器对网络文件存取的处理能力,文件安装在文件服务器上,客户机请求读写服务器上面的这些文件,这时控制端监视并记录服务器的性能。NetBench7.02软件包共包含两个文件,如下图所示。其中nb702cl.exe是客户端安装软件;nb702co.exe是控制端安装文件;服务器端没有要安装的软件。
netbench在工作过程中是通过一个controller来控制多个客户端,向服务器的共享文件夹里读写文件来测试服务器对网络文件存取的能力。
在测试过程中在controller的安装文件夹中的配置文件client.cdb中配置客户端主机的IP地址和序号,在%system% /winnt/system32/drivers /etc/ hosts文件中增加服务器的ip地址和服务的的机器名;在客户端只需要安装netbench的客户端程序,然后在%system% /winnt/system32/drivers /etc/ hosts文件中配置服务的ip地址和服务器的名称和控制台的地址和机器名称;在服务器端只需要设置一个共享目录,然后将这个共项目录分别映射的各个客户端的机器上。
执行测试的过程中,从控制台连接各个client,执行控制台的测试脚本就可以了。
4) ServerBench
ServerBench软件包包含三个主要文件,其中sbclient.exe是客户端安装软件;sbcontlr.exe是控制端安装文件;ntx86.exe是服务器端安装软件,这三个软件是压缩的,可以自解压。
在测试的过程中,在被测服务器上安装服务器端软件,在不同的客户机上分别安装客户端软件,在控制台上安装控制台软件。
工作过程中,在控制端配置测试脚本,通过控制台向每个客户端根据测试脚本,客户端通过和服务器端之间的通讯来测试服务器的性能,包括:服务器的net性能 、服务器的disk性能,服务器的proc性能和sys性能。
Serverbench的工作原理是通过控制台编辑下发给每个客户端去执行脚本,客户端通过跟服务器端按照脚本进行通信,从而测试出服务器的disk、net、proc、和sys的性能。
5) FileBench
FileBench是一款适用于文件服务器性能测试的软件。主要测试服务器基本的I/O性能,它主要由网络接口、系统带宽、磁盘子系统这几部分性能所决定。测试基准中使用大操作块读大文件和小操作块读小文件,这两中典型情况。以大操作块读写大对象文件,小操作块读写小对象文件,较能反映服务器最基本的 I/O性能,即“大操作块读写大文件”对系统带宽、缓存的考察,以及“小操作块读写小文件”对磁盘子系统、网络接口的考察。
6) BenchMark Factory
著名的 Quest 服务器性能测试软件 Benchmark Factory 是一种高扩展性的强化测试、容量规划和性能优化工具,可以模拟数千个用户访问应用系统中的数据库、文件、Internet及消息服务器,从而更加方便地确定系统容量,找出系统瓶颈,隔离出用户的分布式计算环境中与系统强度有关的问题。无论是服务器,还是服务器集群,Benchmark Factory 都是一种成熟、可靠、高扩展性和易于使用的测试工具。
很多产品测试特别是 Web 服务程序都会使用的测试软件,主要用于测试Web页面性能及稳定性。
Benchmark Factory 通过记录和回放多用户测试中的事务处理过程,使IT 专业人员能够更加方便地完成这一任务。
Benchmark Factory 可实现横向 (Benchmark Factory的主用户界面,Visual Control Center,可支持数百个工作站运行其代理软件) 和纵向 (每个代理可以模拟数百或数千个用户)扩展。
Benchmark Factory 可以测试服务器集群的性能。硬件厂商以使用Benchmark Factory 及时实现故障恢复。类似地,软件厂商使用Benchmark Factory,可以优化其服务器软件,而最终用户可以利用Benchmark Factory确定其服务器集群的硬件需求。
benchmark分为两部分,一是benchmark控制台,一个是benchmark agent,在测试的过程中,在控制编辑测试脚本,分发给每个Agent,然后Agent向服务器进行请求模拟客户端,完成脚本后将测试的结果会传给控制台,最终由控制台统计出总的结果,并完成测试报告。
2.3.3 针对应用的测试工具
2.3.3 针对应用的测试工具随着web应用的增多,服务器应用解决方案中以Web为核心的应用也越来越多,很多公司各种应用的架构都以web应用为主。一般的web测试和以往的应用程序的测试的侧重点不完全相同,在基本功能已经通过测试后,就要进行重要的系统性能测试了。系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用率、稳定性、安全性、兼容性、可靠性等等,以下重点从负载压力方面来介绍服务器系统性能的测试。系统的负载和压力需要采用负载测试工具进行,虚拟一定数量的用户来测试系统的表现,看是否满足预期的设计指标要求。负载测试的目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。
使用压力测试工具对web服务器进行压力测试。测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等,因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。在以下内容中我们介绍几款针对应用的测试工具。
1) Avalanche
Avalanche是Sprient的一款4-7层测试仪表,支持超强并发能力和新建能力。主要测试指标包括贷款测试、并发用户数、并发连接数、并发事物数、新建用户数、新建连接数、新建事物数等等。此款仪表通过协议仿真技术完成对客户端的仿真,以其超强并发和新建能力在可以在单台仪表的情况下模拟大量的客户端。但其应用的仿真真实性不如LoadRunner。LR的仿真更具有细粒度。但是Avalanche在4-7协议的配置粒度和并发的控制粒度,以及最终报告的分析能力都非常之强。
2.4 服务器选型测试案例分析
2.4 服务器选型测试案例分析服务器选型测试是服务器测试中一种测试,什么是选型测试呢?所谓的选型测试就是在企业、政府、公司等单位购买服务器的过程中对其选用的厂家的服务器进行综合测试,给出测试报告,作为购买服务器的一种依据。
服务器的选型测试可以是购买方进行第一方测试,也可以是服务器购买方委托第三方评测机构进行评测,在国内像泰尔实验室、赛地等都是具有服务器评测能力的第三方评测机构。
服务器的选型测试的在整个测试过程中应该是一个这样的流程(本过程依据第三方测试机构的测试过程管理流程进行介绍):接受委托(签署合同,依据测试委托程序进行)—由委托方提交被测对象相关材料以及用户需求等(依据项目委托程序进行)—制定项目计划(评审)(根据委托材料和需求由项目负责人制定项目计划,安排测试负责人和测试组成员,依据)—测试组负责人员接受项目,研究分析被测对象—设计开发测试方案(评审)—编写测试计划(评审)——准备测试数据和搭建测试环境—执行测试/质量监督—编写测试报告——整理测试数据——数据归档——总结。在以下内容中我们从关键的几个过程对服务器选型测试进行介绍分析。
2.4.1 被测对象研究和需求分析
被测对象:所谓的被测对象就是我们测试的目标,在服务器选型测试中 被测对象就是有被选型的厂商提交的不同型号的服务器。
用户需求:这里的用户需求是委托方的服务器选择需求,这里的委托方是购买服务器的单位,就是我们服务的对象。
本篇文章由我发表在17testing
为了更多的得到大家的关注和提高自己的写作积极性,特此同步转到51testing希望大家能够支持我,并且此帖会按计划更新 sdlkfj4 什么意思 没有人看 非常感谢楼主 , 但是好象对我们新手来说有点深:) 现正在研究性能测试....都没有方向,是不是性能测试都要用到自动的工具呢...性能的测试应该都有个标准吧...老大在叫我们做这方面的研究,只给一些帮助文档,还真不知要从哪下手... 先收起来慢慢看... 怎么没有更新啦? 很好 啊
页:
[1]