JMeter 响应时间较慢问题

4
我使用Apache JMeter设置了一个测试计划,但在测试远程服务器时,我发现所需时间要比浏览器运行同一项测试慢得多,大致慢5-10倍。例如,Chrome加载带有一些嵌入式资源的简单静态页面需要约300毫秒,而JMeter从同一台机器上报告该页面需要2000+毫秒。 我尝试调整线程数以确保这不是瓶颈,并且不会因为太多负载而使服务器变慢,但似乎没有任何改变这些缓慢数字的方法。 我还能查看什么以从这个工具中获取更真实的响应时间呢?
2个回答

3
我发现了这个问题,原因是勾选了“检索所有嵌入资源”这个选项,这是我想要的,但我也没有使用“并发池大小”选项,所以它在页面上逐个循环处理每个约10个嵌入式HTTP请求,并报告整体加载时间缓慢。勾选此选项并添加一个真实的浏览器并发数(Chrome现在使用6个,所以我选择了这个数字:http://sgdev-blog.blogspot.com/2014/01/maximum-concurrent-connection-to-same.html)可以给我非常接近真实浏览器测试的数字。

关闭“检索所有嵌入资源”选项解决了我的问题。您可以通过转到HTTP请求默认值>高级并取消选中该选项来完成此操作。在执行此操作之前,JMeter一直抛出OutOfMemoryError。现在我可以快速运行大量测试用户。 - mike

0

请确保您添加HTTP缓存管理器,因为浏览器会下载嵌入的内容,如图像、脚本、样式等,但只需在首次请求时执行一次,在随后的请求中,这些资源将从浏览器缓存中返回,不会发出实际请求。

请参阅如何使JMeter更像真实浏览器指南,了解如何使您的JMeter测试更加逼真的其他建议。


是的,我已经研究过了,但我更感兴趣的是那些通常不会被缓存的高峰流量,所以它并没有太大帮助,但嵌入式请求确实很棒。 - user1391445

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接