性能测试之常用工具介绍
Posted 我们的开心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试之常用工具介绍相关的知识,希望对你有一定的参考价值。
文/邝晨昊 梁衍琳 张冲
随着社会及信息技术的飞速发展,人们对计算机及网络的依赖性越来越大,与此同时,数据也更集中于后台系统服务器,众多系统同时为成千上万的网络用户提供服务,用户访问量不断增加,其服务系统承载的负荷也会随之增加,系统性能的好坏将在较大程度上影响我行的利益,因此,服务系统的性能测试与优化越来越受重视。
性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。目前,我行进行性能测试使用的工具主要有Jmeter、Xmeter、LoadRunner等,测试人员通常通过监控系统的吞吐量、响应时间、事务成功率、应用服务器和数据服务器的CPU和内存等指标来衡量系统的性能是否达标。
为了满足日常工作中对性能测试的需求,广研测试部组织了专门的测试人员负责行内各大项目的性能测试工作。经过半年时间的努力,测试部在性能测试领域不仅积累了丰富的性能测试和调优经验,也完善了整个性能测试开展的流程。从性能测试评估阶段的CheckList的填写、性能测试用例评审会的开展、测试环境的申请,到性能测试执行阶段的测试数据监控工具的使用、压测脚本的编写和执行,再到性能测试总结阶段的测试结果的分析、测试报告的编写、压测资产的积累,完整的性能测试流程如下图所示:
图1 性能测试流程图
看到这里,大家是否对性能测试的开展十分好奇呢?为了更加直观地展示性能测试的工作,下面分别介绍几种常用的性能测试工具。
测试过程中,需要使用工具监控后台服务器性能表现的变化,这个工具需要具有免费、体积小、安装简单、耗费资源低、能应用于AIX和Linux系统这几个特点。作为开源性能监控软件中的黑马,Nmon当仁不让。在它的协助下,分析服务器的CPU和内存使用情况变得直观而有趣。
Nmon使用时无需安装,解压后即可使用里面的数据采集器。因此我们只需要将其安装包放到服务器后台解压就可以开始监控之旅了。
在进行测试时,要保证压测工具已经开始往后台服务器发包,然后打开数据采集器监控服务器的CPU使用情况、磁盘I/O、内存使用情况、网络使用情况等。
压测工具发包结束后,就可以终止监控了。Nmon有自己的分析工具nmon_analyzer,用它才能打开生成的监控数据文件。打开之后就可以看到压测时服务器的CPU、内存和网络等关键部件的使用情况了。
例如在某个项目中,测试人员使用nmon监控后台服务器的性能,系统的内存使用情况如图2所示,CPU的使用情况评估方式和内存的相似。
图2 nmon_analyzer分析内存使用情况
为了方便观察不同时间段的性能情况,nmon_analyzer还贴心地为大家提供分时段查看性能情况的功能,如图3所示:
图3 nmon_analyzer分时段查看服务器性能参数
LoadRunner作为被广泛使用的老牌压测工具,通过简单易用的界面、明确的功能划分和美观的分析界面受到广大用户的青睐。它提供了3大主要功能模块,既可以作为独立的工具完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试,这3大模块分别是:
Virtual User Generator —— 用于录制性能测试脚本
LoadRunner Controller —— 用于创建、运行和监控场景
LoadRunner Analysis —— 用于分析性能测试结果
在VU Generator中,可以自己手动编写脚本,指定发包方式,像在对OIBS统一版进行测试时,可以使用JAVA Vuser协议直接将上传报文发送至服务器后台,对应于OIBS 统一版对报文的解析方法。而对于BS架构的系统,则无需自己手写脚本,它提供了一种更简单的使用方式:录制脚本。简单地说就是点击录制按钮,然后正常在打开的网页中进行操作,VU Generator可以自动把操作的过程转化为代码,用户也可以自己修改转化的代码。在录制过程,VU Generator还提供了新建事务、新建集合点等多样化功能供用户选择。
在使用VU Generator编辑完脚本并编译通过后,可以进入Controller设计压测场景。举个栗子,运行测试场景时的Controller如图4所示:
图4 Controller运行场景
最后,使用Analysis对运行结果进行分析。Analysis模块是分析系统的性能指标的一个主要工具,能够直接打开场景的执行结果文件,将场景数据信息生成相关的图表进行显示,还可以对图表进行合并,项目中的合并图表如图5所示:
图5 合并后的分析图表
通过上面的示例相信大家能够很熟练地通过LoadRunner来录制B/S架构类的系统压测脚本了,那么在另外一个Jmeter软件上应该怎么操作呢,这个软件又适合什么类型的系统呢?
Jmeter相对于LoadRunner来说较为轻量化,是一个开源的软件,拥有各种各样的插件,特别适合做接口类的测试,当然也适用于B/S架构的测试。
图6 Jmeter界面
如果需要用来做B/S架构的测试,可以利用自带的录制功能,只需要在模版功能里选择好录制然后设置好代理服务器,然后就可以在浏览器里自由访问待压测网站的待测交易,软件会自动生成脚本。
如果需要拿来做接口测试,可以根据接口的类型选择不同的采样器,例如HTTP Request Sampler或者是TCP Sampler等。
图7 新增仅一次控制器
因为在实际的场景中,每个人都单独拥有一个自己的账号,我们这里可以设置通过文件来读取账号密码,这里需要用到CSV Data Set Config功能。
图8 账号和密码从文件中取值
Jmeter还有函数小助手的功能,可以根据自己的需要来选择这里面的不同的函数,最后添加查看结果树即可。
图9 用自带的函数助手实现随机日期
以上就是关于性能测试中常用的工具的介绍啦,更多的相关知识还需要小伙伴们亲自动手实践和感受,赶紧安装软件尝试一番吧!
作
者
简
介
邝晨昊
广研测试部测试组
从事开放平台的功能测试、性能测试,王者荣耀的荣耀青铜选手,又菜又爱玩
梁珩琳
广研测试部测试组
B站爱好者,王者农药打工人,喜欢听歌唱歌和羽毛球
张冲
广研测试部测试组
性别女,爱好干饭
轮值总编:卓泓良
责任编辑:黄皓
美编:郑楚生
技术支持:陈文建
我们的开心 · 总编辑部
(广 研)
■欢迎来稿:请按“作品名-作者-部门”命名,发送到abckx@abchina.com
以上是关于性能测试之常用工具介绍的主要内容,如果未能解决你的问题,请参考以下文章
性能测试性能测试之性能测试指标详解(性能指标CPU内存负载磁盘)