如何同时测试Jmeter中的100万用户?我应该使用什么线程数&加速期?
我尝试但是我给了线程数1000000并且我必须给出不允许并发测试的Ramp up期间。
答案 0 :(得分:0)
加速期告诉JMeter需要多长时间才能“加速”到所选的全部线程数。如果使用10个线程,并且加速时间为100秒,则JMeter将花费100秒来使所有10个线程启动并运行。每个线程将在上一个线程开始后10(100/10)秒开始。如果有30个线程且120秒的上升周期,则每个后续线程将延迟4秒。
加速需要足够长,以避免过大的工作负荷 测试开始,并且足够短以至于最后一个线程开始运行 在第一个完成之前(除非有人想要这样做)。
从Ramp-up =线程数开始,向上或向下调整为 需要的。
如果你想同时启动你的所有线程你可以设置ramp-up = 1
这意味着jmeter将花费1秒钟来启动并运行所有线程!或者0来尽快启动它们。但我希望你有一个很好的硬件来支持这个。
答案 1 :(得分:0)
实际上我建议选择加速,这样负荷会逐渐增加 。例如,您的应用程序能够为500k用户提供服务而不会出现任何延迟,从500k到700k的响应时间增长,在750k并发用户时它就会死亡。
如果您一次性释放所有1M用户,则无法获得上述信息,您只需知道您的应用程序不支持1M用户。
因此我建议增加循环次数,以便现有用户可以在新用户到达时继续工作,这样您就可以逐渐增加高达1M的并发虚拟用户负载
Forever
或将-1
放在那里。 另请注意以下事项:
答案 2 :(得分:0)
仅当响应时间低于1秒时,1,000,000个线程才能获得1,000,000个每秒事务数。您将需要足够的线程来包含系统响应时间。 10,000,000个线程允许最多10秒的响应时间。
其他人是正确的,慢慢加速到全速率,以便有时间查看问题所在。
我会使用这些设置来开始调整实验室和奴隶数:
吞吐量整形计时器: - 启动RPS第1行:1 - 结束RPS第1行:1,000,000 - 持续时间第1行:1800(与提升相同)
持续时间第2行:600(全速10分钟)
启动RPS第3行:1,000,000
注意首先耗尽什么资源,调整并重复。