没用过 JMeter 的同学,可以先过一遍他的简单使用例子
https://blog.csdn.net/weixin_42132143/article/details/118875293?spm=1001.2014.3001.5501

一、误区

在使用 JMeter 做压测时,大家都知道要这么设置:
在这里插入图片描述

很多初学者会认为这就是控制了他的并发数,其实不是,这只是设置了1000个线程而已,跟 JMeter 每秒发起的请求数没有直接的关系。

参数说明:

  • 线程数:只是指定 JMeter 一共启动的并发线程个数,只是线程的数量
  • Ramp-Up时间(秒):在多少秒之内将上述并发的线程启动起来
  • 循环次数:控制循环次数,如果想要他一直发起请求就勾选永远
  • 调度器 - 持续时间:就是一直发起请求所持续的时间(必须勾选了循环次数为永远才生效)

二、正确设置 JMeter 的并发数

除了设置上面误区的图中的参数外,还需要设置一个 Constant Throughput Timer(常数吞吐量定时器)

在这里插入图片描述

这里设置的是每分钟的样本量,我设置的 60 ,换算过来就是每秒一次,我勾选了只有此线程
意思就是:我设置的1000个线程,每个线程他会每秒发起一个请求。算下来就是 JMeter 每秒发起我们指定的请求 1000 次,所以也就是实现了控制 JMeter 1000 的并发。

参数说明:

基于计算吞吐量

  • This thread only(只有此线程):
    控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput
    乘以改线程的数量。

  • all active threads(所有活动线程):
    设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上次运行结束后等待合理的时间再次运行。活跃线程指同一时刻同时运行的线程。

  • all active threads in current thread group(当前线程组中所有活动线程):
    设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程时,改选项和all active threads选项的效果完全相同。

  • all active threads(shared)(所有活动线程(共享)):
    与all active threads的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上运行一次结束后等待合理的时间后再次运行。

  • all active threads in current thread group(shared)(当前线程组中所有活动线程(共享)):
    与all active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间再次运行。


总结

欢迎指出我的错误!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐