Jmeter 如何在各个线程之间分配互联网速度?
How Jmeter distributes the internet speed among various threads?
- 我有一个客户端要求生成 100 个用户的负载。这 100 个用户的平均互联网速度为 20 Mbps。
- 我计划在非 GUI 模式下 运行 JMeter 的机器具有 100 Mbps 的互联网带宽。
因此,考虑到每个网速为 20 Mbps 的情况下,生成 100 个 users/threads 的负载是否可行,我们的总带宽仅为 100Mbps。
或
请为这个问题陈述提出替代解决方案。
如果普通用户的带宽为 20 Mbps,而您的机器的最大带宽为 100 Mbps - 您将只能模拟 100 / 20 = 5 个虚拟用户 假设您的负载测试充分利用了user/machine
在这种情况下,您仍然可以使用此机器对更多虚拟用户进行负载测试:
- 真实用户不会敲打被测应用程序 "non-stop",他们需要一些时间在操作之间 "think" 因此考虑添加合理的 Timers 以在请求之间引入实际延迟
- 绝大部分带宽是通过所谓的 "embedded resources" 消耗的:图像、脚本、样式、声音、字体等。真正的浏览器会下载这些嵌入式资源,但它们只会 once 所以你需要添加 HTTP Cache Manager 来正确模拟这种行为。
一旦你想出了测试场景的真实版本,你就可以通过 Bytes Throughput Over Time and see how much spare bandwidth is left using PerfMon Plugin
测量 1 个虚拟用户消耗的带宽
- 如果有足够的带宽供 100 个用户使用 - 您就可以开始了
- 如果没有 - 您将不得不找到另一台机器并且 run your JMeter test in Distributed Mode
- 我有一个客户端要求生成 100 个用户的负载。这 100 个用户的平均互联网速度为 20 Mbps。
- 我计划在非 GUI 模式下 运行 JMeter 的机器具有 100 Mbps 的互联网带宽。
因此,考虑到每个网速为 20 Mbps 的情况下,生成 100 个 users/threads 的负载是否可行,我们的总带宽仅为 100Mbps。
或
请为这个问题陈述提出替代解决方案。
如果普通用户的带宽为 20 Mbps,而您的机器的最大带宽为 100 Mbps - 您将只能模拟 100 / 20 = 5 个虚拟用户 假设您的负载测试充分利用了user/machine
在这种情况下,您仍然可以使用此机器对更多虚拟用户进行负载测试:
- 真实用户不会敲打被测应用程序 "non-stop",他们需要一些时间在操作之间 "think" 因此考虑添加合理的 Timers 以在请求之间引入实际延迟
- 绝大部分带宽是通过所谓的 "embedded resources" 消耗的:图像、脚本、样式、声音、字体等。真正的浏览器会下载这些嵌入式资源,但它们只会 once 所以你需要添加 HTTP Cache Manager 来正确模拟这种行为。
一旦你想出了测试场景的真实版本,你就可以通过 Bytes Throughput Over Time and see how much spare bandwidth is left using PerfMon Plugin
测量 1 个虚拟用户消耗的带宽- 如果有足够的带宽供 100 个用户使用 - 您就可以开始了
- 如果没有 - 您将不得不找到另一台机器并且 run your JMeter test in Distributed Mode