一.jmeter插件管理器
-
下载jmeter插件管理器:plugins-manager.jar
-
下载plugins-manager.jar并将其放入lib/ext目录,然后重启JMeter。
-
插件管理界面
打开选项->Plugins Manager(界面见下图),“Installed Plugns”标签显示已经安装的插件,“Avaliable Plugins”标签显示可获得插件,“Upgrades”标签显示可以升级的插件。
二.Threads性能测试常用插件元组(PerfMon ) -
安装Custom Thread Groups插件(进入 Threads 就可以看到 Custom Thread Groups 插件包含的元件)
- 线程组
可以通过勾选“延迟创建(调度器)”实现初始并发延迟(类似定时执行);不支持阶梯式压测。
-
Concurrency Thread Group (并发线程组)
该元件实现并发线程组且不会创建所有线程(节省内存);不提供初始延时和减速的功能。(官方推荐)
参数说明:
Target Concurrency:目标并发数(线程数)
Ramp Up Time:加速时间(上图设置1)
Ramp-Up Steps Count:加速步骤计数(几批次加压到目标数,如100线程,该值为10,代表每一秒开启1[100/10]个线程,共10秒达到目标数)
Hold Target Rate Time:保持目标速率时间
Time Unit:时间单位(分钟或者秒)
Thread Iterations Limit:线程迭代次数限制(循环次数)
Log Threads Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件)
- Stepping Thread Group (步进/阶梯线程组)
该元件可以实现持续增加负载的典型负载场景,校验服务在不同负载下的性能。(官方不推荐)
上图场景描述:每5秒内递增10个线程(用户)后运行 30秒,继续递增线程(用户)直到满足100个线程(用户),然后,100个用户运行60秒后,间隔1秒减少5个线程(用户)。
参数说明:
This group will start:目标线程数。如图,加载至100个线程就停止加载线程。
First,wait for:第一个线程延迟多少秒开始加载。
Then start:初次加载多少个线程。
Next,add:下一次加载多少线程。
Threads every:距下一次加载线程间隔时间。
Using ramp-up:提前多长时间加载完成【Next,add】设置的线程数,如图,10个线程在5秒内加载完成。
Then hold load for:线程全部加载完成后运行多长时间。
Finally,stop/threads every:多长时间停止多少个线程。如图,每1秒停止5个线程
- Ultimate Thread Group(最终线程组)
该元件能设置多条线程作业计划。可以模拟稳定性测试场景和浪涌测试场景。
参数说明:
Start Thread Count:加载多少线程。
Initial Delay, Sec:线程延迟多长时间开始运行。
Startup Time, Sec:线程加载多长时间。
Hold Load For,Sec:线程持续运行多长时间。
Shutdown Time:在多长时间内停止所有线程
使用该元件一样能实现持续增加负载的场景,只是需要计算Initial Delay 和 Hold Load For 的时间
其他插件
-
Basic Graphs(基本图) :安装成功后监听器/取样器(WebSocket采样器)新增一些插件,如:
WebSocket采样器(WebSocket Samplers by Peter Doornbosch) -
Additional Graphs(附加的图)
- jmeter listener
****三.服务器软硬件监听及插件
1.监听器
活动线程数:jp@gc - Active Threads Over Time
响应时间:jp@gc - Response Times Over Time
每秒事务数:jp@gc - Transactions per Second
2.服务器硬件资源监控
压测的时,需要了解服务器(CPU、内存、网络)的状态及资源占用状况。
- shell指令:top
- 使用finalshell
- 使用JMeter压测工具perfmon
Host/IP:要监控服务器的地址
Port:默认端口
Metric to collect:收集指标 Metric parameter:度量参数
Add Row、Copy Row、Delete Row:分别对应的是添加按钮、复制按钮、删除按钮
Chart:曲线图展示主界面
Rows:曲线图小界面以及不同资源曲线所代表的颜色
Settings:设置
3.配置服务代理器
服务器硬件资源的监控,首先在服务端安装serverAgent代理服务,JMeter才能实现监控服务端的cpu、内存、io的使用情况。
- serverAgent下载(serverAgent代理实现监控)
ServerAgent下载地址:https://github.com/undera/perfmon-agent/blob/master/README.md
- 启动agent服务
运行jmeter脚本,agent服务闪退解决方案
- 监控CPU
Elapse time:消耗时间
Performance Metrics:性能指标
jp@gc PerfMon Metrics Collector:
Metric to collect:收集指标–选择CPU
Metric parameter:度量参数,如下
*CPU system:CPU系统占用
CPU user:CPU用户占用*
idle:CPU空闲
iowait:IO等待
- 监控网络
jp@gc PerfMon Metrics Collector:
Metric to collect:收集指标–选择Network I/O
Metric parameter:度量参数,如下(填写后存在报错现象,建议为空)
接收字节:byteSrecv【单位:比特、KB、MB】
发送字节:byteSent【单位:比特、KB、MB】
发送(transport):tx
接收(receive):rx - 监控内存
jp@gc PerfMon Metrics Collector:
Metric to collect:收集指标–选择Memory
Metric parameter:度量参数,如下(填写后存在报错现象,建议为空)
used Perc:每分钟使用内存【单位:字节、KB、MB】
free Perc:每分钟未使用内存【单位:字节、KB、MB】