jmeter之阶段式压测

一.bzm - Concurrency Thread Group

1.什么是阶梯式压测

阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值,最终达到一个预期值。然后保持该压力值,持续运行一段时间。实际上,阶梯式压测,是负载测试的一种通用方法。

2.jmeter阶梯式压测方法

2.1安装插件Concurrency Thread Groups

2.2添加bzm - Concurrency Thread Group

2.3下载地址:https://jmeter-plugins.org/downloads/old/

下载该插件后解压,然后将JMeterPlugins-Standard.jar包放在jmeter安装目录的jmeter-3.0libext路径下,重新启动jemter即可

 启动jmeter,添加线程组——jp@gc - Concurrency Thread Group

Target Concurrency:目标并发数
Ramp Up Time:加速时间,即在多长时间里完成这个并发数
Ramp-Up Steps Count:加速次数,即分成几个阶段完成这个并发数
Hold Target Rate Time:保持目标速率时间,即达到并发数后保持运行的时间
Time Unit:时间单位,分还是秒
Thread Iterations Limit:线程迭代次数限制,即循环次数(空,即为一次)
Log Threads Status into File:将线程状态记录到文件中(保存日志文件)

2.4在该线程下面添加http请求,和jp@gc - Active Threads Over Time

 2.5点击运行,查看结果

 二.jp@gc - Stepping Thread Group-阶梯式压力测试

启动jmeter,添加线程组——jp@gc - Stepping Thread Group

This Group will start 100 threads:这次的测试总共会起10个线程。
First , wait for 0 seconds:等待0s后开始起线程,也就是不等待直接起线程。
Then start 5 threads every 10 seconds using ramp-up N3 seconds :N3秒内启动5个线程后会运行10s,再起余下的5个线程,再运行10s,以此类推。
Using ramp-up 2 seconds:前面每起多少个线程的时候花2s,与上面结合起来即2s内起5个线程,运行10s,然后再再2s内再起5个线程,再运行10s,以此类推。
Then hold load for 60 seconds. :全部的线程起来后,运行60s 后开始停止(跟loadrunner类似,从jmeter聚合报告里面可以看出来,这里的hold load 的意思,其实是这些线程,一直在请求,相当于jmeter普通线程组里面的循环运行)。
Finally , stop 5 threads every 10 seconds:最后停止线程,5个线程停一次,等10s再停5个线程(当然,第一次是hold时间一过就先停5个线程,然后等10s再停余下的5个线程

jmeter的第三方扩展插件功能是很丰富的,也算一定程度上弥补了jmeter作为开源工具的某些不足之处,具体的作用还是需要在实战中摸索实践。。。

原文地址:https://www.cnblogs.com/Testing1105/p/13608495.html