JMeter采样器结果:了解加载时间,连接时间和延迟

问题描述

首先,我是JMeter的新手,我想清除一些关于加载时间连接时间延迟间的关系的疑问。 >。

我找到了一些资源来解释这些指标之间的关系:

等待时间–连接时间=服务器处理时间

已用时间–延迟时间=下载时间 resource

然后另一个resource这样说: 响应时间=延迟+处理时间

下面给出的是我得到的采样器结果之一。如果考虑到这一点,我们真的可以评论一下服务器处理请求所花的时间吗?

注意:在这种情况下,我的计划是分析服务器必须承受的负载量。我真的不在乎连接建立和传递数据包的延迟。

enter image description here

基本上,我想知道上述三个指标之间的联系:加载时间,连接时间和延迟。任何帮助是极大的赞赏。在此先感谢:)

解决方法

本文档说明了指标:

延迟:

  • JMeter测量从发送请求之前到收到第一个响应之后的延迟。因此,该时间包括组装请求以及组装响应的第一部分所需的所有处理,通常这将比一个字节长。协议分析器(例如Wireshark)测量通过接口实际发送/接收字节的时间。 JMeter时间应该更接近浏览器或其他应用程序客户端所经历的时间。

连接时间:

  • JMeter测量建立连接所花费的时间,包括SSL握手。请注意,连接时间不会自动从延迟中减去。如果发生连接错误,则该指标将等于解决错误所花费的时间,例如,对于“超时”,该指标应等于连接超时。

加载时间或经过时间:

  • JMeter测量从发送请求之前到收到最后一个响应之后的经过时间。 JMeter不包括呈现响应所需的时间,JMeter也不处理任何客户端代码,例如Javascript。
,

通过查看JMeter结果,您不能说“服务器处理请求所需的时间”,因为:

请求生命周期如下:

  1. JMeter建立连接(连接时间)
  2. JMeter将请求正文发送到服务器(未知)
  3. 服务器处理请求(未知)
  4. 服务器将响应发送到JMeter(未知)
  5. JMeter接收到响应的第一个字节(延迟)
  6. JMeter接收到响应的最后一个字节(经过的时间)

因此,即使以毫秒为单位的精度,您也无法说出服务器处理时间是多少,因为JMeter只能获取高级网络指标,如果您想用服务器处理时间来丰富报告,则需要使用APMprofiler tool或至少类似JMeter PerfMon Plugin之类的东西,以直接从被测试的应用程序中获取这种形式的信息。

,

我用外行术语描述如下:

加载时间:请求所花费的总时间。首先要求最后一个数据包

连接时间:请求到达服务器所花费的时间

延迟:请求第一次响应所花费的时间。 (如果响应较小,则可以与加载时间相同)