jmeter压测过程及常见问题总结

jmeter压测过程及常见问题总结

主要分享三部分内容,一是使用jmeter进行压力测试具体过程,二是遇到的问题及解决办法,三是jmeter服务器性能监测插件的使用。

一.jmeter压测过程

(1)使用抓包工具抓取被测接口,并在postman上将接口调试通过。

(2)将调试通过的接口录入到压测工具jmeter中,并且根据测试需求设置线程组、调度器以及其他的相关参数。完成多组jmeter脚本的录制。设置参数的思路是给系统逐渐加压,目的是找到系统性能的瓶颈。

(3)在实施压力测试的服务器上安装测试工具jmeter以及jmeter的插件,用以执行压力测试脚本以及监测服务器性能。并对其进行调试,使其可以正常使用。

(4)将录制好jmeter脚本上传到服务器,执行linux命令运行脚本,开始执行压力测试。

Linux运行脚本命令

#将路径切换到jmeter工具的bin路径下

cd /home/stressTest/apache-jmeter-3.1/bin

#运行jmeter.sh,标蓝部分分别为脚本所在路径和生成的结果文件所在路径

nohup sh jmeter.sh -n -t /home/stressTest/apache-jmeter-3.1/Mytest/stressTest.jmx/sign.jmx -l /home/stressTest/apache-jmeter-3.1/Mytest/stressTest.jtl/sign.jtl

(5)查看聚合报告,服务器日志,jmeter日志,分析压力测试结果并得出结论。

  • 问题及解决办法
  1. 背景:只有接口请求响应成功了,对该接口执行的压力测试得到的结果才是有意义的。而jmeter的察看结果树中图标显示为绿色。此时并不代表接口已经响应成功。还需要进一步判断。

问题:如何判断接口请求响应成功?

解决办法:两种方法判断接口是否响应成功(以签到打卡接口为例):一是看响应数据,只有接口的返回code值与期望返回的code值一致时,即为响应成功。二是去数据库查看是否有签到记录。

(2)背景:不同接口传递的参数形式和传递的内容不同。

问题:签到打卡接口只填写Body Data参数,为什么请求失败?

解决办法:对于登录接口,它只需要传递Parameters形式的username和password,而签到打卡接口既需要传递Body Data形式的参数,也需要在HTTP信息头管理器中传递token值。对于不同的接口要判断好需要传递哪些信息才能最终使接口请求成功。

(3)背景:在压测过程中,很多时候不是只对一个接口进行压力测试。以签到打卡接口为例,签到打卡的前提是需要登录系统获取token值。因此将登录接口与签到打卡接口进行关联。

以事件办结接口为例,事件办结的前提是查询到需要办结的事件,需要传递参数eventId和taskId,因此需要将事件查询接口与事件办结接口相关联。

你可能感兴趣的:(压力测试)