Jmeter 如何在各个线程之间分配互联网速度?

How Jmeter distributes the internet speed among various threads?

因此,考虑到每个网速为 20 Mbps 的情况下,生成 100 个 users/threads 的负载是否可行,我们的总带宽仅为 100Mbps。

请为这个问题陈述提出替代解决方案。

如果普通用户的带宽为 20 Mbps,而您的机器的最大带宽为 100 Mbps - 您将只能模拟 100 / 20 = 5 个虚拟用户 假设您的负载测试充分利用了user/machine

在这种情况下,您仍然可以使用此机器对更多虚拟用户进行负载测试:

  1. 真实用户不会敲打被测应用程序 "non-stop",他们需要一些时间在操作之间 "think" 因此考虑添加合理的 Timers 以在请求之间引入实际延迟
  2. 绝大部分带宽是通过所谓的 "embedded resources" 消耗的:图像、脚本、样式、声音、字体等。真正的浏览器会下载这些嵌入式资源,但它们只会 once 所以你需要添加 HTTP Cache Manager 来正确模拟这种行为。
  3. 一旦你想出了测试场景的真实版本,你就可以通过 Bytes Throughput Over Time and see how much spare bandwidth is left using PerfMon Plugin

    测量 1 个虚拟用户消耗的带宽