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

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

相关推荐
测试199839 分钟前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
程序员勋勋3 小时前
【自动化测试】如何在jenkins中搭建allure
职场和发展·jenkins·测试覆盖率
咕咕吖4 小时前
对称二叉树(力扣101)
算法·leetcode·职场和发展
sszmvb12345 小时前
测试开发 | 电商业务性能测试: Jmeter 参数化功能实现注册登录的数据驱动
jmeter·面试·职场和发展
测试杂货铺5 小时前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
码农派大星。6 小时前
软件测试--BUG篇
功能测试·bug
测试界萧萧6 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
小码哥说测试6 小时前
接口测试用例设计的关键步骤与技巧解析!
自动化测试·测试工具·jmeter·职场和发展·测试用例·接口测试·postman
linsa_pursuer7 小时前
快乐数算法
算法·leetcode·职场和发展
王解8 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github