采样时间 (ms) 与 Loadrunner 对同一请求的响应时间不同。为啥会这样?

Posted

技术标签:

【中文标题】采样时间 (ms) 与 Loadrunner 对同一请求的响应时间不同。为啥会这样?【英文标题】:Sample time (ms) is different from the response time of Loadrunner for the same request. Why is it so?采样时间 (ms) 与 Loadrunner 对同一请求的响应时间不同。为什么会这样? 【发布时间】:2015-03-27 06:45:48 【问题描述】:

我们在Jmeter中记录了一个启动网站页面的请求,不包括所有静态内容文件css、js等。当我们重播脚本时,采样时间(考虑到它是响应时间)大约 5000 毫秒。

我们在 LoadRunner 中记录了相同的请求,响应时间约为 300 毫秒。此外,当我们通过 HTTPFox 查看请求的响应时间时,它也在 300ms 左右。

我的问题是为什么这两种工具测量的响应时间存在巨大差异。在计算 jmeter 中的响应时间时我会出错吗?还有其他方法可以计算 jmeter 中的响应时间吗?

【问题讨论】:

【参考方案1】:

我可以看到为什么会发生这种情况的几个原因:

    JMeter 配置为"Redirect automatically" or to "Follow Redirects" JMeter 配置为“下载嵌入式资源” 您的测试系统表现出高延迟(请求到达服务器的时间量,JMeter 将总体响应时间报告为延迟 + 实际响应时间,有关指标说明,请参阅The Load Reports 指南)

【讨论】:

Jmeter 被配置为“跟随重定向”并且“下载嵌入式资源”复选框未选中。【参考方案2】:

有很多架构差异会导致工具之间的这种差异。将您的范围缩小到一个请求,例如一张图片,并在这两种工具中扩大您的用户数量,看看会发生什么。

您还拥有可以发挥作用的测试配置项,例如在一台主机上运行单片机的 JMETER 与在多个生成器上运行分布式的 loadrunner。考虑时间设置差异,用户数量。等等……你可以花一整天的时间来搞定测试设置和架构。

但是,鉴于 Loadrunner 时间最接近通过代理和手动执行可观察到的时间,您可以从其余的测试数据中推断出什么?

【讨论】:

在 jmeter 中运行测试时,有 3 个负载生成器,LoadRunner 也是如此。即使我们检查了使用两种工具仅记录一个启动页面事务,但差异仍然相同。但是是的,工具计算响应时间的方式不同,这就是为什么我们可能会得到不同的响应时间值。

以上是关于采样时间 (ms) 与 Loadrunner 对同一请求的响应时间不同。为啥会这样?的主要内容,如果未能解决你的问题,请参考以下文章

为啥loadrunner用场景压出来的响应时间会比直接在ie里面操作或者脚本回放慢很多?

loadrunner响应时间怎么看

VTM10.0帧内之CCLM技术

LoadRunner内部结构

MS MDS系列之MDS层次结构(Hierarchy)

LoadRunner录制协议的选择