基于jmeter的性能全流程测试
01、做性能测试的步骤
1、服务器性能监控
首先要在对应服务器上面安装性能监控工具,比如linux系统下的服务器,可以选择nmon或者其他的监控工具,然后在jmeter模拟场景跑脚本的时候,同时启动监控工具,这样就可以获得jmeter的聚合报告和服务器的性能报告,然后分析这两份报告,得到性能测试的结果。(如果有应用服务器,还要数据库服务器,那么这几台都要监控)
常用命令:
nmon -s 1 -c 1800 -f -m /usr/local/src/nmon/logs |
以上命令是持续监控1800s的意思,如果nmon是按照笔者前面的文档配置的,并且路径也是一样的,那么可以连接服务器以后,在服务器任意路径输入该命令都可以启动监控,启动监控以后开始同时执行jmeter脚本即可,服务器的监控报告会在/usr/local/src/nmon/logs这个路径中,是.nmon格式的文件
02、jmeter模拟性能测试场景
一般是模拟一套业务流程,从登录>录入数据>计算报表,类似这样的场景,然后模拟多并发,持续循环该场景,测试稳定性等。
如果前面jmeter调用关联接口以及掌握,那么做只需要再掌握以下几点:
1、吞吐量控制器
当需要模拟混合业务场景的时候,需要用到吞吐量控制器,比如多并发时,一半的用户在模拟计算报表的场景,一半的用户在模拟指标试算的场景,那么用吞吐量控制器设置百分比即可,如下图:
2、设置兵法线程数,循环次数,持续时间
持续时间即,这个jmeter脚本持续循环跑多长时间停止
3、聚合报告
此处要填上聚合报告保存的路径,文件格式是.jtl,方便后续导出(建议报告存放在jmeter安装路径的bin文件夹内)
4、生成随机数
有一些场景,会遇到需要随机录入数据并保存的场景,此时也可以用函数助手,选择Random函数,输入随机范围,并点击生成随机参数,然后将对应接口的入参替换为刚刚生成的随机参数,如下图:(函数助手有随机数字还有随机字符等等,可以视自己的需要选择对应的函数)
掌握以上,基本可以做简单的压力测试了,对于模拟混合场景,一个线程里面要调用多个接口,有时候会碰到接口一直轮循,直到满足某个条件才停止的情况,轮循的接口平均间隔一秒调用一次,等等,如果遇上如上的情况,可能用到固定定时器,while循环控制器,BeanShell后置处理程序等,或者其他jmeter的元件,需要对应去学习
03、jmeter导出html格式的聚合报告
在开始处搜索“cmd”,以管理员身份打开命令操作符,然后切换到jmeter安装路径的bin文件夹中,实例如下:
cd/d E:\apache-jmeter-5.3\bin |
然后导出html报告(文件名和路径要与jmeter聚合报告存放的地址一致)
jmeter -g ./testreport/202007141422.jtl -o ./testreport/202007141422 |
然后进入到 .jtl所在文件路径打开如下的html文件即可看到对应报告了
04、nmon导出服务器监控报告
1、安装nmon报告解析工具nmon_analyser_v52_1,直接解压就可以使用
2、导出nmon报告
从测试服务器上,把监控文件下载到本地,然后解压zip包,打开nmon analyser v52_1.xlsm文件(需要启用宏),点击这个按钮,选择.nmon格式的报告,然后会自动生成一个同名的.xlsx文件,该文件就是解析出来的报告了
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走: