0

我是性能测试的新手。在对网站进行性能测试时,我发现 Jmeter 获得的结果与 Webload 的结果不匹配。所以,我通过这两个工具测试了一个简单的网站 lifechanger.org,有 1 个虚拟用户,但我仍然得到了不同的不同值。任何人都可以对此有任何帮助。请阅读以下通过这两种工具获得的值。

网址:Lifechanger.org 在此处输入图像描述

在这种情况下只有吞吐量匹配。任何帮助将不胜感激。提前致谢。

4

2 回答 2

1

您不应该将 2 个负载测试工具相互比较,您应该将它们与真实浏览器进行比较并配置两者以匹配真实浏览器的行为,否则您的测试将没有多大意义。

需要考虑的事项:

  • 您需要确保将负载测试工具设置为从页面检索所有嵌入式资源(图像、脚本、样式、字体等)
  • 您需要确保它是并行完成的(因为这是真正的浏览器所做的)
  • 您需要确保它只执行一次(或根据Cache-Control标头),换句话说,实现浏览器的缓存。
  • 您需要接受/发回HTTP Cookie
  • 您需要发送适当的HTTP 标头,例如User-AgentAccept-Encoding
  • 您需要正确模拟AJAX调用,例如并行执行的嵌入式资源

理想情况下,性能良好的负载测试工具应该为您提供与其选项卡上的浏览器开发工具相同的时间。Network

更多信息:

于 2018-11-22T09:55:41.413 回答
0

由于吞吐量和点击/秒匹配,并且我们在 Jmeter 和 webload 上具有不同的响应时间和延迟,我对延迟和响应时间的时间差异进行了一些研究。请查看以下观察结果。

Jmeter 中的延迟:JMeter 测量从发送请求之前到收到第一个响应之后的延迟。因此,时间包括组装请求所需的所有处理以及组装响应的第一部分,这通常会比一个字节长。协议分析器(例如 Wireshark)测量通过接口实际发送/接收字节的时间。JMeter 时间应该更接近浏览器或其他应用程序客户端所体验的时间。

Webload 中的延迟:从发送请求到虚拟客户端收到第一个数据字节所经过的时间。

由于 Jmeter 从应用程序客户端的角度工作,它还考虑了 DOM 后处理所花费的时间,这可能是我们在 Jmeter 中显示的时间增加的原因,以秒为单位。这是 Jmeter 的工作方式,另一方面,Webload 显示不处理数据的时间,即在 DOM 中接收数据所需的时间,始终以毫秒为单位。

参考文献:1)。https://jmeter.apache.org/usermanual/glossary.html 2)。应用程序中的 Webload 帮助部分

于 2018-11-23T11:17:27.837 回答