一、多线程并发
- 线程组简介:
(1). 线程数: 配置虚拟用户数量
(2). Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
(3). 循环次数
(4). 调度器-持续时间(秒),压测多长时间。测试持续时间,会覆盖结束时间,不管循环次数配置的是不是永久,都按照调度器-持续时间配置的内容优先生效。
- 线程下面线程组、setUp线程组、tearDown线程组关联:同时添加这三个线程组,setUp线程组的接口先运行,然后是线程组,最后运行的是tearDown线程组下面的接口。
二、gui模式下监控压测结果
1.监听器
(1). 察看结果树:能看到接口请求头、请求体、返回体等接口信息
(2). 聚合报告:显示的是请求时间、TPS等等
(3). 后端监听器:测试结果不显示在Jmeter页面,存放在数据库里面,通过图形化工具展示出来,看起来更加美观
2.监听器详情
(1). 察看结果树分析:
可以选择不同的语法格式展示接口信息,下图举例的是正则表达式和Json字段定位:
(2). 聚合报告分析:
平均值、中位数(50%)、90%百分位、95%百分位、99%百分位:
占比多少用户的用户,响应时间小于该值,单位是毫秒,比如下图:21个用户中90%的用户响应时间小于24毫秒。
吞吐量:服务器每秒接受多少请求数
**三、控制台模式下监控压测结果 **
cmd控制台模式,在安装路径bin文件夹下面运行:
jmeter -n -t 脚本路径\Jmeter脚本.jmx -l 路径\result.jtl (备注:result.jtl为测试结果文件)
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
运行结果如下,Jmeter默认每 30 秒在控制台输出一次结果,在 jmeter.properties 中有一个参数 #summariser.interval=30 可以控制,最小可以改为6
四、运用插件jconsole监控Jmeter所在服务器性能
jconsole工具是一种基于JMX的可视化监视、管理工具,会自动自动搜索本机运行的所有虚拟机进程,使用方式:cmd控制台切换到java安装目录bin文件夹下,输入命令 :jconsole ,会自动弹出来:
双击Apache Jmeter.jar,进行连接,对服务器的资源进行监控(建议压测时把jmeter部署在服务器上):
五、补充知识点
命令行执行方式:要在Jmeter安装目录bin目录下面,执行Jmeter命令
通常使用jmeter做性能测试,一般都会在gui模式下调试完了脚本后,就删除里面的所有监听器(查看结果树,聚合报告等等),然后关闭gui界面,直接在控制台使用命令行的方式运行jmeter进行压测,这样可以最大限度减少本地脚本的处理时间,减少gui对本地资源的消耗,让jmeter有足够的运行资源,避免本地资源不足造成对实测结果的影响。
推荐用Jmeter + InfluxDB + Grafana系统来实时监控压测结果,用Exporter + InfluxDB + Grafana系统来实时监控服务器性能,界面美观好用,而且是异步不怎么影响服务器性能。
Jmeter性能测试监控系统(Jmeter+InfluxDB+Grafana)
服务器性能监控系统(Exporter+Prometheus+Grafana)
版权归原作者 Coast1222 所有, 如有侵权,请联系我们删除。