0


Jmeter多线程并发和压测结果分析

一、多线程并发

  1. 线程组简介:

(1). 线程数: 配置虚拟用户数量

(2). Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。

(3). 循环次数

(4). 调度器-持续时间(秒),压测多长时间。测试持续时间,会覆盖结束时间,不管循环次数配置的是不是永久,都按照调度器-持续时间配置的内容优先生效。

9f0f5b4522bf4c3ab3b70b22334b6d22.png

  1. 线程下面线程组、setUp线程组、tearDown线程组关联:同时添加这三个线程组,setUp线程组的接口先运行,然后是线程组,最后运行的是tearDown线程组下面的接口。

024c4a3efd1643ae8595cdc6ea56fad7.png

二、gui模式下监控压测结果

1.监听器

(1). 察看结果树:能看到接口请求头、请求体、返回体等接口信息

(2). 聚合报告:显示的是请求时间、TPS等等

(3). 后端监听器:测试结果不显示在Jmeter页面,存放在数据库里面,通过图形化工具展示出来,看起来更加美观

7ad5b65404014429885922a9c3ef3915.png

2.监听器详情

(1). 察看结果树分析:

可以选择不同的语法格式展示接口信息,下图举例的是正则表达式和Json字段定位:

10b0a605211e46ce8a46d22b0ae4f65c.png

(2). 聚合报告分析:

eced6c1976a84274ae88e9489fe501a2.png

平均值、中位数(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部署在服务器上):

五、补充知识点

  1. 命令行执行方式:要在Jmeter安装目录bin目录下面,执行Jmeter命令

  2. 通常使用jmeter做性能测试,一般都会在gui模式下调试完了脚本后,就删除里面的所有监听器(查看结果树,聚合报告等等),然后关闭gui界面,直接在控制台使用命令行的方式运行jmeter进行压测,这样可以最大限度减少本地脚本的处理时间,减少gui对本地资源的消耗,让jmeter有足够的运行资源,避免本地资源不足造成对实测结果的影响。

  3. 推荐用Jmeter + InfluxDB + Grafana系统来实时监控压测结果,用Exporter + InfluxDB + Grafana系统来实时监控服务器性能,界面美观好用,而且是异步不怎么影响服务器性能。

Jmeter性能测试监控系统(Jmeter+InfluxDB+Grafana)

服务器性能监控系统(Exporter+Prometheus+Grafana)


本文转载自: https://blog.csdn.net/p302519898/article/details/127258136
版权归原作者 Coast1222 所有, 如有侵权,请联系我们删除。

“Jmeter多线程并发和压测结果分析”的评论:

还没有评论