专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 JMeter压测工具的使用

JMeter压测工具的使用

更新时间:2022-01-17 10:17:42 来源:动力节点 浏览595次

小编下载的是apache-jmeter-2.13,因为这个包是为一般的linux和windows下载的,所以我们现在在windows下打开。

直接点击bat打开jmeter:

添加线程组:

添加后,先设置这两项:

然后右击左边的线程组,添加一个http请求

添加完成后,我们可以看到右边有一个可编辑的地方:

这里要对这样一个url进行压力测试,url请求为http://cm.browser.qq.com/test_xianwu/api/buy

即从App首页拉取信息

我们直接用浏览器打开是这样的:

见下图,我们需要将URL分成两部分填写

此时点击保存,保存的文件路径是自己指定的。我将它保存到 bin 目录中。保存后是一个jmx文件。

保存后,我们需要在压力测试的时候查看请求的结果,所以我们需要添加一个“查看结果树”

添加后的样子:

这时候我们点击开始,看看效果:

这时候我们增加线程数,首先增加到100

添加后,我去App看了看,然后发现首页悲剧了,黑屏:

这时候我们在网站上一看,发现在返回的子字符串中,列表的内容是空的,而这个列表就是我们首页要显示的项目:

既然知道了返回失败请求的特点就是列表为空,那么我们添加一个断言,让他直接帮我们过滤掉失败请求的样本。

同样右键,“Add”-“Assertion”-“Response Assertion”,添加完成后,我们添加一个子串:

这就是地狱的位置。因为在请求成功的情况下,返回列表中的信息包含了位置,所以我们可以简单地认为,当位置字段存在时,请求就成功了。

这时候,我们再运行一​​遍,看看结果树是否能帮助我们识别:

我们可以看到红色是失败的次数。数字有点大,所以我们需要使用Aggregate Graph

添加完成后,我们开始我们的服务。这时候,我们可以在这里看到一个粗略的数据:

这样,我们就可以不断地改变线程的数量,然后观察失败率和吞吐量,得到一个当前请求的最优对应数量。

测试过程中发现如果手动停止,最后几个请求会因为手动停止而抛出异常。所以我们决定让他请求2w次,2w次后自动停止。然后我们需要在开始时设置集合的数量:

这里需要注意的是线程数和循环数的乘积等于一个固定值,然后可以改变两个乘数,最后我选择线程数为10、20、50, 80、100、200,结果是:

最后生成图表,可以看出性能瓶颈。结果如下:

从图中不难看出响应时间延迟很大,而且错误率很高,最大qps可以达到50s初期,所以初步怀疑是性能问题,而最后反馈给开发,开发添加缓存机制。并添加了机器。优化后,再来看看数据对比:

显然,优化效果显着,达到了预期的效果。如果大家想了解更多相关知识,可以来关注一下动力节点的JMeter教程,里面还有更多的知识在等着大家去学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>