【发布时间】:2014-02-25 11:04:29
【问题描述】:
现代浏览器对每个服务器使用不同数量的连接,如here 所述。在现代网页中下载超过 100 个资源是很常见的。尤其是当服务器远离最终用户时,这可能会导致很大的性能问题。
我在使用负载测试工具(LoadRunner 和 JMeter)方面有过不好的体验,因为这些工具似乎无法正确模拟现代 Web 浏览器。我知道 JMeter 中有“使用并发池”设置,您可以在 LR 中模拟不同的浏览器,但是您的经验是,那些真的像他们应该的那样工作吗?根据这个blog post 至少JMeter 有一些问题。
我知道这些负载测试工具(LR、JMeter)的主要目的是测试服务器端,但我认为这仍然是一个很大的问题。
【问题讨论】:
-
首先,Jmeter/loadrunner 不是 chrome(来自博客比较),它的行为应该像可以并行运行的标准浏览器(可能不是现代浏览器)。所以,在加载资源的时候,不仅要关心资源池,还要知道它是如何工作的。它只是一个http请求模拟器,它模拟请求它将被改变->基于环境约束->基于实现(你应该看到这部分,如果jmeter/loadrunner代码与相同的chrome请求处理相同,它将工作相同)跨度>
-
人们对负载测试有一些误解,如果我们改变用户代理它会模拟单独的浏览器,它不会。它将更改浏览器的可下载资源(将告诉服务器此特定浏览器正在运行)。因此,除非它们的实现相同,否则任何负载测试工具的性能都不会与浏览器相同。我的意见:负载测试工具用于测量服务器中的负载,而不是像浏览器一样执行精确的行为。如果是这样,它将是真正模拟真实浏览器的负载测试的完美系统。
标签: performance jmeter load-testing performance-testing loadrunner