jmete并发数控制

一、误区

在JMeter压测过程中,我们通常认为1s内100的并发量(即:QPS为100)的设置如下:
线程组-线程数:100;Ramp-Up时间(秒):1;循环次数:勾选永远

没有再添加额外的控制器。上述中的参数设置解释:

  • 线程数: 启用的并发线程个数
  • Ramp-Up时间(秒):在多少秒之内将上述并发的线程启动起来
  • 循环:控制循环次数

说明:

  1. 一个常见的误解,认为线程数设置为100,Ramp-Up时间(秒)设置为1,就是每秒发起100个请求量。
  2. 上述的设置,表示在1s内启动100个线程,之后,jmeter便以最大限度的100个并发进行压测,不能保证1s内只有100个请求。
  3. 我们用上述的设置,对某个接口进行压测,发现:
    在一秒内,发起的请求居然有五百多个,与实际想要的1s发起100个并发是有差别的。

二、控制并发数

添加Constant Throughput Timer(常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。

  • Target throughput(in samples per minute)设置:6000(由于单位是一分钟,如果要求QPS为100,则该值设置为60*100=6000)
  • Calculate Throughput based on设置:all active threads
    例如:jmeter脚本有两个接口,每个接口TPS=50

Calculate Throughput based on的选项有5个,分别是:

  1. This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以改线程的数量。
  2. all active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上次运行结束后等待合理的时间再次运行。活跃线程指同一时刻同时运行的线程。
  3. all active threads in current thread group:设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程时,改选项和all active threads选项的效果完全相同。
  4. all active threads(shared):与all active threads的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上运行一次结束后等待合理的时间后再次运行。
  5. all active threads in current thread group(shared):与all active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间再次运行。

当然,Constant Throughput Timer只有在线程组中的线程产生足够多的request 的情况下才有意义,因此,即使设置了Constant Throughput Timer的值,也可能由于线程组中的线程数量不够,或是定时器设置不合理等原因导致总体的QPS不能达到预期目标。

比如线程数10,时间是5秒,循环2次,也就是说,一秒会执行两个线程*2次循环,一秒并发4次请求

假设线程数为100个,花费时间20s,那么每秒启动的线程数 = 线程数/时间,即100/20 = 5。换句话说,就是1秒启动5个线程。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter 是一款非常强大的性能测试工具,可以用于进行并发测试。以下是 JMeter 进行并发测试的一般步骤: 1. 创建测试计划:打开 JMeter,创建一个新的测试计划,并命名为你想要的名字。 2. 添加线程组:在测试计划中添加线程组。线程组定义了测试中的用户量、循环次并发等信息。 3. 添加配置元件:根据需要,可以添加一些配置元件,如 HTTP 请求默认值、用户定义的变量等。 4. 添加取样器:取样器用于发送请求并获取响应。在线程组下添加取样器,如 HTTP 请求、FTP 请求等。 5. 添加逻辑控制器:逻辑控制器用于控制请求的顺序和条件。可以添加循环控制器、条件控制器等。 6. 添加监听器:监听器用于收集和分析测试结果。可以添加查看结果树、聚合报告、图形结果等。 7. 配置并发:在线程组中设置并发,即模拟的同时用户量。 8. 配置循环次:在线程组中设置循环次,即每个用户执行请求的次。 9. 配置请求参:在取样器中设置请求参,如请求的 URL、方法、参等。 10. 运行测试计划:保存测试计划后,点击运行按钮开始执行并发测试。 11. 查看结果:测试运行完成后,可以查看监听器中的结果据,如响应时间、吞吐量、错误率等。 以上是一般的 JMeter 并发测试步骤,根据具体的需求和场景,可能会有所差异。在实际使用中,还可以使用 JMeter 的其他功能,如断言、前置处理器、后置处理器等,来完善测试方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值