推荐几款常用的性能测试工具
很多同学给我留言想让我讲讲工具,所以我的第一篇加餐就光速来了~
掌握一款性能测试工具的能力是我们提升效率的关键技能之一。它不仅能够帮助我们模拟各种测试场景(如并发和复杂组合的环境),还可以通过图表或其他形式呈现测试结果的数据化展示效果。从而让分析更加直观和高效。
常用的性能测试工具
常用的性能测试工具有很多,在这里我将列举几个比较实用的。
对于开发者来说,在选择性能测试工具时最先考虑的是若干开源免费的性能(压力)测试工具(如ab、JMeter等)。而对于专业的测试团队而言,则更常选用付费版的LoadRunner。当然也有一些企业自行研发了一款定制化的性能测试系统。
随后将为你详细分析ab和JMeter这两款测试工具的功能特点以及基本操作步骤。
1.ab
Apache提供了该款AB测试工具。该工具易于操作,在用于Web服务测试时非常有效。
ab可以在Windows系统中使用,在Linux系统中也可以使用。在这里说明 Linux 系统的安装方法很简单:只需要在 Linux 系统中执行安装命令 即可。
安装成功后,输入ab命令,可以看到以下提示:

采用ab工具进行接口请求测试非常简便。可通过设置特定参数来控制请求数量、并发次数以及相关的请求参数。例如,在一次测试中设置并发用户数为10人同时发起100次GET request时...
ab -n 100 -c 10 -p 'post.txt' -T 'application/x-www-form-urlencoded' 'http://test.api.com/test/register'
代码解释
post.txt为存放post参数的文档,存储格式如下:
usernanme=test&password=test&sex=1
代码解释
附上几个常用参数的含义:
-n:总请求次数(最小默认为1);
-c:并行操作数(最低设置值为1,并且最大值受限于系统总请求量;例如,在一个系统中存在...的情况下,并行操作数设为...则意味着每位操作者执行一次请求);
-p:post参数文档路径(-p和-T参数要配合使用);
-T:header头内容类型(此处切记是大写英文字母T)。
当我们在进行GET请求接口测试时,在请求头中添加相应的参数项:
ab -c 10 -n 100 http://www.test.api.com/test/login?userName=test&password=test
代码解释
输出结果如下:

以上输出中,有几项性能指标可以提供给你参考使用:
Requests/s:吞吐率指标通常用于衡量系统在高并发环境下的性能表现;它表示为每秒处理请求的数量。
Time per request:即此为系统处理全部请求所需的时间除以(总请求数与并发端点数的比例)。
Time per request:具体来说,该指标指的是服务器在接收全部请汽数量后所花费的总处理时间与这些请求数量之间的比率;具体而言,在计算过程中我们采用总处理时间为O(n^2)这一前提条件下的结果
The proportion of requests resolved within a specific timeframe:该指标表示每秒时间段内的响应率。具体而言,在过去一段时间内观察到的数据表明,在8毫秒时间内完成响应的比例为50%,而在10毫秒时间内完成的比例达到66%,这表明有16%的请求数量落在了8毫到10毫秒之间的时间区间内。
2.JMeter
JMeter是由Apache开源基金会支持的一款功能模块丰富性的全面测试工具;也可以在Windows操作系统以及Linux操作系统中进行安装和使用。
基于Windows平台的JMeter提供了友好的图形化用户界面;使用者无需深入了解编程细节即可完成测试脚本编写;其学习曲线较为平缓,并且操作简便。
JMeter不仅能够实现简单的并发性能测试,并且还支持完成复杂的宏基准测试。我们可以利用录制脚本来完成整个业务流程的自动化测试。该软件支持通过导入CSV文件中的参数变量来实现多维度性能测试。
在Windows环境下安装JMeter非常简便,在官网上下载安装程序后解压即可开始使用。如果希望启动图形界面,则需进入bin目录并找到名为jmeter.bat的执行文件进行双击即可。

Jmeter 具备丰富的功能模块。简要讲解如何生成自动化测试脚本的同时还可以利用该工具分析业务系统的性能表现。
录制JMeter脚本的方式有很多种。其中一种方式是通过JMeter自带的代理工具来完成录制;另一种方式则是借助专业的软件如Badboy来进行录制;第三种方法是我们将要讲解的——通过在浏览器中安装特定插件来实现脚本录制;这种方式操作简便,用户无需进行复杂的配置。
首先,在部署自动化测试工具之前,请确保你的系统已经配置好了开发环境。我们需要使用BlazeMeter插件来实现对Chrome应用的监控功能。你可以通过访问Chrome应用商店找到该插件的下载链接,并按照提示完成设置和部署过程。完成这些步骤后,请确保返回此页面以获得进一步的操作指导

随后通过Google账号登录该插件,在未进行此类操作的情况下将无法生成相应的JMeter配置文件。安装及完成Google账号 login成功的界面如上图所示:

最后单击开始按钮(Start Button),即可启动录制过程。当完成录制之后,请选择保存位置并命名为JMX格式(JSON Multi-Execution Log Format)的文件名进行保存。完成上述操作后即可访问该文件(File),其中将可以看到已经生成的脚本内容(Script Content)。如下图所示:

在这一时段段期间内

建立好结果树后, 我们能够对线程组的并发处理用户数量以及重复调用频率或次数进行配置.

设置成功之后,点击运行,我们可以看到运行的结果:

JMeter测试结果与ab测试结果的关键性能指标相当接近,在此无需再进行详细说明。
3.LoadRunner
LoadRunner是一款商业版的测试工具,并且License的售价不低。
作为一款高质量的专业性能测试工具,在执行压力测试时展现出卓越的稳定性与效率。
相较于JMeter而言, LoadRunner不仅支持模拟不同内网IP地址, 而且能够将不同IP地址分配给测试用例中的虚拟用户, 从而更好地模拟真实环境下的多端访问情况。
以上分析仅作参考.
总结
今天我向大家介绍了三种常见的性能测试工具,并随后对当天的主要工作内容制作了一份流程图。

目前市场上的测试工具有多样化选择,并且值得注意的是,阿里云提供的PTS测试工具也非常实用。然而每款测试工具往往都兼具各自的优缺点。基于我的经验,在熟练掌握某一类别的高效性后才能更好地去探索其他各类测试工具有助于提升效率
今天的加餐在结束时就已经结束了。如果你还有其他问题或想深入了解的内容,请随时留言告诉我。也欢迎将今天的内容分享给身边的朋友们,并邀请他们共同学习。
