我们正在使用Apache JMeter进行Web应用程序的性能测试。与在加载期间在浏览器中加载页面相比,显然响应时间太长。当我们在加载期间打开页面时,它会在2秒内打开,但JMeter会报告70秒。我理解浏览器内存缓存和磁盘缓存都在浏览器中使用但是JMeter缓存管理器并不是这样。如何断言,比较响应头是一个选项。对此有任何想法将不胜感激。
答案 0 :(得分:0)
脚本中的配置可能有误。 Web浏览器和Jmeter响应时间之间的差异不大(Jmeter忽略浏览器渲染时间,不是一个很重要的因素,但必须考虑)
如果您正在为网页使用单个Http Sampler并检索该页面中的所有资源,请选择" Parallel Downloads"选项' 6'在Http sampler高级部分。因此,您正在模拟并行下载资源(如.js,.css,图像等)的浏览器行为。
如果您使用Test Script Recorder记录脚本,那么该页面的每个资源requet都会有一个Http Sampler,它将按顺序发送,从而增加响应时间。您可能在这种情况下,截至目前,没有功能/选项可以并行发送http采样器。所以我建议使用添加一个采样器的方法,在Http Sampler高级部分中使用并行资源下载选项。
此外,缓存是决定响应时间的重要因素。添加Http Cache管理器可以解决jmeter中的问题。这模拟了缓存的浏览器行为。我不认为b / w浏览器和jmeter在实现缓存方面存在巨大差异可能并不完美。
答案 1 :(得分:0)
原因可能是JMeter机器上缺少资源或JMeter没有正确配置以产生高负载。 JMeter默认配置适用于负载测试开发和调试,您可以运行负载测试达到一定数量的虚拟用户,但如果您需要执行非常高的负载 - 您需要执行一些配置更改。
首先,使用jvisualvm和您的操作系统监控工具仔细检查我的猜测(有PerfMon JMeter Plugin可用于监控被测应用程序和JMeter负载生成器端的不同指标)。如果是这种情况 - 请采取后续步骤以获得JMeter安装的最佳性能: