没有延迟测量增加请求数量

时间:2018-03-09 16:52:03

标签: ubuntu networking jmeter load-testing response-time

我正在使用Ubuntu虚拟机上的Apache服务器在我的本地网络中执行容量测试,在物理Ubuntu机器上运行JMeter。

提高请求率我可以很容易地观察到最大吞吐量并描述它从给定的请求率开始如何饱和,我发现平均时间没有增加。如果我尝试访问一个非常繁重的页面(3 MB文本+ 10 MB图像+ 50 MB视频),我甚至可以尝试数百个样本,但我发现延迟没有增加,相比之下,平均响应时间少得多要求。我开始认为本地网络是个问题。

如何设置实验以观察响应时间的增加?

3 个答案:

答案 0 :(得分:2)

即使访问非常繁重的页面,您没有看到平均时间增加的原因是JMeter默认情况下不会尝试下载所有图像,

您可以在HTTP Request高级标签中更改默认行为,然后选中Retrieve All Embedded Resources

选项
  

从HTML文件中检索所有嵌入式资源告诉JMeter解析HTML文件,并为文件中引用的所有图像,Java小程序,JavaScript文件,CSS等发送HTTP / HTTPS请求。

这样JMeter将下载HTML的所有相关文件。

您可以调整并检查Parallel downloads是否会变得太慢。

答案 1 :(得分:0)

检索所有嵌入资源确实应该增加响应时间,如user7294900所述。您可以按特定域via regex排除嵌入资源,例如^((?!domain1 | domain 2)。)* $,以便您的测试不会影响任何第三方服务。

以下是您可以尝试的其他一些事项:

  1. 禁用缓存。这是通过HTTP缓存管理器配置完成的。有关详细信息,请查看this article。如果您使用缓存,将会有状态代码为304的HTTP请求 - 未修改,执行速度非常快。
  2. 调查HTTP响应。断言元素应该在实际负载测试中尽可能少,但为了研究问题,尝试添加一些并在您的机器上本地GUI模式下运行测试。我相信this article可能会对您有所帮助。
  3. 您可能会达到内部网络限制。防火墙可能会阻止您的请求。您可以与网络管理员讨论您的结果。

答案 2 :(得分:0)

Latency对响应大小的依赖程度并不接近,基本上是延迟TTFB (Time To First Byte)

同样表现良好的Web应用程序从静态缓存资源(甚至CDNs)返回“重”内容,因此它不应该是一项昂贵的操作。