文件名称:loadrunner测试资料
文件大小:43KB
文件格式:DOC
更新时间:2013-04-10 10:37:42
lr分析
LoadRunner常见测试结果分析 在测试过程中,可能会出现以下常见的几种测试情况: 一、当事务响应时间的曲线开始由缓慢上升,然后处于平衡,最后慢慢下降这种情形表明: * 从事务响应时间曲线图持续上升表明系统的处理能力在下降,事务的响应时间变长; * 持续平衡表明并发用户数达到一定数量,在多也可能接受不了,再有请求数,就等待; * 当事务的响应时间在下降,表明并发用户的数量在慢慢减少,事务的请求数也在减少。 如果系统没有这种下降机制,响应时间越来越长,直到系统瘫痪。 从以上的结果分析可发现是由以下的原因引起: 1. 程序中用户数连接未做限制,导致请求数不断上升,响应时间不断变长; 2. 内存泄露; 二、CPU的使用率不断上升,内存的使用率也是不断上升,其他一切都很正常; 表明系统中可能产生资源争用情况; 引起原因: 开发人员注意资源调配问题。 三、 所有的事务响应时间、cpu等都很正常,业务出现失败情况; 引起原因: 数据库可能被锁,就是说,你在操作一张表或一条记录,别人就不能使用,即数据存在互斥性; 当数据量大时,就会出现数据错乱情况。 晏子出品--服务器压力测试软件 本文介绍了几个比较典型的服务器评测软件,无论什么评测工具,基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在于测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。众所周知,服务器是整个网络系统和计算平台的核心,许多重要的数据都保存在服务器上,很多网络服务都在服务器上运行,因此服务器性能的好坏决定了整个应用系统的性能。现在市面上不同品牌、不同种类的服务器有很多种,用户在选购时,仅仅从配置上判别是不够的,最好能够通过实际测试来筛选,下面就介绍一些较典型的测试工具: (一)服务器整机系统性能测试工具 一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。 Iometer(www.iometer.org):存储子系统读写性能测试 Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,来模拟实际应用的读写环境进行测试。Iometer操作简单,可以录制测试脚本,可以准确有效的反映存储系统的读写性能,为各大服务器和存储厂商所广泛采用。 Sisoft Sandra(www.sisoftware.co.uk):WINDOWS下基准评测 SiSoft发行的Sandra系列测试软件是Windows系统下的基准评测软件。此软件有超过三十种以上的测试项目,能够查看系统所有配件的信息,而且能够对部分配件(如CPU、内存、硬盘等)进行打分(benchmark),并且可以与其它型号硬件的得分进行对比。另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。Sisoft Sandra软件在最近发布的Intel bensley平台上测试的内存带宽性能并不理想,不知道采用该软件测试的FBD内存性能是否还有参考价值,或许软件应该针对FBD内存带宽的测试项目做一个升级。 Iozone(www.iozone.org):linux下I/O性能测试 现在有很多的服务器系统都是采用linux操作系统,在linux平台下测试I/O性能可以采用iozone。 iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。测试所有这些方面,生成excel文件,另外, iozone还附带了用gnuplot画图的脚本。该软件用在大规模机群系统上测试NFS的性能,更加具有说服力。 Netperf(www.netperf.org):网络性能测试 Netperf可以测试服务器网络性能,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是 netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。对于服务器系统来说,网络性能显得尤其重要,有些服务器上为了节省成本,采用了桌面级的网络芯片,性能怎样,用这个软件一测便知了。以上介绍的这几款测试工具都是可以免费从网上下载的非商业软件,但是其测试结果和认可程度均是为大多数使用者所认同的。你可以根据自己的应用需求选择不同的软件进行测试。 (二)针对应用的测试工具 随着web应用的增多,服务器应用解决方案中以Web为核心的应用也越来越多,很多公司各种应用的架构都以web应用为主。一般的web测试和以往的应用程序的测试的侧重点不完全相同,在基本功能已经通过测试后,就要进行重要的系统性能测试了。系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用率、稳定性、安全性、兼容性、可靠性等等,以下重点从负载压力方面来介绍服务器系统性能的测试。系统的负载和压力需要采用负载测试工具进行,虚拟一定数量的用户来测试系统的表现,看是否满足预期的设计指标要求。负载测试的目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。负载测试一般使用工具完成,有 LoadRunner,Webload,QALoad等,主要的内容都是编写出测试脚本,脚本中一般包括用户常用的功能,然后运行,得出报告。使用压力测试工具对web服务器进行压力测试。测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等,因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。 Loadrunner:预测系统行为和性能的负载测试工具 目前,业界中有不少能够做性能和压力测试的工具,Mercury(美科利)Interactive公司的LoadRunner是其中的佼佼者,也已经成为了行业的规范,目前最新的版本8.1。LoadRunner 是一种预测系统行为和性能的负载测试工具,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试,LoadRunner 适用于各种体系架构,能支持广范的协议和技术(如Web、Ftp、Database等),能预测系统行为并优化系统性能。它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。Loadrunner是一个强大有力的压力测试工具,它的脚本可以录制生成,自动关联。测试场景面向指标,实现了多方监控。而且测试结果采用图表显示,可以*拆分组合。通过Loadrunner的测试结果图表对比,你可以寻找出系统瓶颈的原因,一般来说可以按照服务器硬件、网络、应用程序、操作系统、中间件的顺序进行分析。 Webload:WEB性能压力测试 webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作, 生成压力负载来测试web的性能。用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量 web应用程序在真实环境下的性能。当前最高版本是6.0。webload提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标;cruise control能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告。webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里。这两个软件的功能虽然强大,并且可以自动生成测试报告,但其终究是一个工具,如果你想真正的定位服务器性能的好坏和性能的瓶颈所在,需要使用工具的人对于测试软件的方方面面都要有了解,比如软件体系构架,网络拓扑,服务器硬件等知识。 测试工具只是参考 测试工具只是参考 近年几年,无论是行业聚会还是猎头招人。无不体现着这一理念,测试工作越发被机械化Coding化,很多企业招人时也不乏喜欢给自己的员工提些要求QTP/Loadrunner/Winrunner/RTF/Rebot一系列测试化工具被列入正规、精益的代名词。于是我们投入了大量人力物力来实现我们心中挥之不去的理想与抱负,每日Build成了很多测试经理追求的梦想。 加之行业领袖们的吹捧,行业新兵薪水的大幅提升,一些不明真相的人们正大步迈入这个陷阱。我们做测试工具开发、测试工具应用,根本的意义是提升工作效率,降低产品成本,提升团队的核心竞争力。从目前行业来看,很多用人单位和培训机构鼓励大批新入职的测试人员走向测试开发、自动化职业生涯。我们先不论报酬薪资,单从这种不负责任的态度与做事方式来讲,个人觉得这些是不利于新人成长。 一个入门的测试人员,他应该先做好本职工作,充分了解系统,充分了解需求,能为后续产品提出新的价值关联,能知晓其它同类产品的特点,本套产品的优势,架构特点等等问题。测试工具并不是解决问题的唯一办法,根据产品的测试策略、测试需求很多产品都不能完全按照第三工具的标准进行开发,这也是中国目前的现状。你需要短期内,毫无计划的提需求,解决这些历史问题也是及不现实的。我们能做的是,给新人更宽的思路,更灵活的思维方式,让他们从工具中受益。而不是盲目的使用工具,把一件事变的更复杂。我们提倡的是效率,提倡的是工作效率,并不是代步工作。 请不要把软件测试工具当饭吃,而是真正理解测试工具的思维方式和测试方法。在某种层面来说,只有每一个员工、一个团队乃至一个部门,对这种思想有了充分理解的时候。真正意义上的高效才能体现。流程、工具无非只是我们改进工作过程的一种手段,而不是吃饭的家伙。请正视自己的职业,不要把测试工具当饭吃。