【发布时间】:2020-11-28 04:19:35
【问题描述】:
我创建了 15 个线程组,每个线程组 100 个用户和一个 Http 请求(付款请求)。我需要一次启动所有 15 个线程,所以我应该为每个线程组指定的 Ramp up period 时间是多少。
【问题讨论】:
标签: jmeter
我创建了 15 个线程组,每个线程组 100 个用户和一个 Http 请求(付款请求)。我需要一次启动所有 15 个线程,所以我应该为每个线程组指定的 Ramp up period 时间是多少。
【问题讨论】:
标签: jmeter
这取决于你的测试类型,如果你正在做类似Spike Test 的事情,你应该将加速期保持为零。
对于“正常”负载测试没有严格的建议,唯一的建议是您需要逐渐增加负载,这样您就可以将增加的负载与增加的吞吐量相关联,减少响应时间、错误数量等,因为如果您一次释放线程,您将只能声明您的应用程序不支持 1500 个并发用户,但您无法判断您的应用程序有多少用户可以在不降低性能的情况下服务(所谓"saturation point",第一个bottleneck在哪里,第一个错误发生时等等。
更多详情请参阅JMeter Ramp-Up - The Ultimate Guide 文章。
根据JMeter official documentation:
加速需要足够长以避免在测试开始时工作负载过大,并且足够短以使最后一个线程在第一个线程完成之前开始运行(除非有人希望发生这种情况)。
从 Ramp-up = 线程数开始,根据需要向上或向下调整
因此,如果您没有更好的想法,请进行 100 秒的加速,并确保您的测试持续足够长的时间以包括此加速和相同持续时间的“高原”阶段,然后是最终减速(这样您就可以在负载减少时检查应用程序是否恢复正常)
【讨论】:
我的建议也是一种渐进的方法,但以这种特殊的方式:从一个 TG 开始,以确定可以实例化 100 个线程且没有错误的最短 RAMP-UP 时间以及执行达到 稳定稳定的时间-state(见下文)一段合理的时间。假设这个 RAMP-UP 是 30 秒。通过再添加一个 TG 并将两个 TG 的 RAMP-UP 持续时间(60 秒)加倍来重复该过程。再次验证 200 个线程可以无错误地实例化并且稳态是稳定的。通过一次添加一个额外的 TG 并相应地校准 RAMP-UP 时间来重复该过程。
虽然短期目标是在或多或少的最短时间内成功实例化所有 1500 个线程,但主要关注点应该是在吞吐量、响应时间或利用率等 KPI 方面实现稳定的稳定状态在给定的工作负载 (VUser) 级别。
【讨论】: