基于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文件,该文件就是解析出来的报告了

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

相关推荐
果冻人工智能1 小时前
OpenAI 是怎么“压力测试”大型语言模型的?
人工智能·语言模型·压力测试
茶猫_1 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
幽兰的天空5 小时前
默语博主的推荐:探索技术世界的旅程
学习·程序人生·生活·美食·交友·美女·帅哥
Rstln5 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
hopetomorrow7 小时前
学习路之压力测试--jmeter安装教程
学习·jmeter·压力测试
行則独善其身8 小时前
计算机网络-VPN虚拟专用网络概述
程序人生
陪学8 小时前
百度遭初创企业指控抄袭,维权还是碰瓷?
人工智能·百度·面试·职场和发展·产品运营
ifanatic12 小时前
[面试]-golang基础面试题总结
面试·职场和发展·golang
行則独善其身13 小时前
华为无线AC+AP组网实际应用小结
程序人生
Dnelic-14 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记