程序员的大厨梦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一.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.0\lib\ext路径下,重新启动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 "N1"  threads :先启动N1个线程

Next,add "N2"  threads every "N3" seconds using ramp-up "N4" seconds :每隔N3秒,再N4秒内启动N2个线程

Then hold load for 10 seconds. :全部的线程起来后,运行10s 后开始停止(跟loadrunner类似,从jmeter聚合报告里面可以看出来,这里的hold load 的意思,其实是这些线程,一直在请求,相当于jmeter普通线程组里面的循环运行)。

Finally , stop 2 threads every 3 seconds:最后停止线程,2个线程停一次,等3s再停2个线程(当然,第一次是hold时间一过就先停2个线程,然后等3s再停余下的5个线程

然后在对应线程组下创建需要执行的接口,
1.对应接口下添加监听器查看结果树,聚合报告,jp@gc - Active Threads Over Time等等,查看运行结果

 

 

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

 

posted on 2020-09-03 16:50  程序员的大厨梦  阅读(825)  评论(0编辑  收藏  举报