现代浏览器每个服务器使用不同数量的连接,如here所述。通常在现代网页中有超过100个资源可供下载。特别是当服务器远离最终用户时,这可能会导致严重的性能问题。
我在使用负载测试工具(LoadRunner和JMeter)方面遇到了不好的经验,因为这些工具似乎无法正确模拟现代Web浏览器。我知道在JMeter中有“使用并发池”设置,你可以在LR中模拟不同的浏览器,但是你的经验是,那些真的像他们应该的那样工作?根据这个blog post,至少JMeter有一些问题。
我知道这些负载测试工具(LR,JMeter)的主要目的是测试服务器端,但我认为这仍然是一个非常大的问题。
答案 0 :(得分:4)
我不能说JMeter但是在LoadRunner中我们尽可能地模拟所选浏览器的并发连接数。您可以看到运行的重播日志中使用的最大并发连接数,例如:
Maximum number of concurrent connections per server: 6 [MsgId: MMSG-26000]
我们有一些预设受到您选择的用户代理的影响,但是在录制期间会更新此数量的当前连接(即录制将分析您使用的实际并发连接数并更改预设值)。
如果这还不够,您可以使用以下步骤手动更改并发允许的连接数:
web_set_sockets_option(“MAX_CONNECTIONS_PER_HOST”,”10”);
web_set_sockets_option(“MAX_TOTAL_CONNECTIONS “,”60”);
希望这有帮助。
答案 1 :(得分:0)
JMeter以作者认为应该的方式工作。多年来,当我们试图将它与我们自己的负载测试工具进行比较时,我们遇到了JMeter准确性的严重问题。最近,我们尝试比较JMeter的页面加载时间,并对difficulty of getting accurate or consistent results感到失望。我们是竞争对手,所以要考虑它的价值。
答案 2 :(得分:0)
或许How to make JMeter behave more like a real browser指南可以为您提供一些线索。
我还建议使用HTTP Request Defaults配置元素,特别是Embedded URLs must match
输入来过滤掉任何外部嵌入资源。