首页 > 解决方案 > 计算网络延迟

问题描述

我开始用jmeter进行测试。我已经阅读了有关从 jmeter 获得的值的文档和未解决的问题,至少在我拥有的版本中是:timeStamp、elapsed、label、responseCode、responseMessage、threadName、dataType、success、failureMessage、bytes、sentBytes、grpThreads、allThreads 、URL、延迟、空闲时间和连接。

我正在针对具有服务器的网页启动。时代是

elapsed(响应时间),是完成请求所需的时间(从开始到结束)

延迟是从您开始传输到收到第一个字节的时间(从开始到第一个响应。包括连接)

Connect 是建立 TCP 连接所需的时间。

我的问题是:要考虑到network latency,需要收集哪些数据?

标签: jmeter

解决方案


如果您想测量请求从被测系统传输到 JMeter 的时间,只需从 Elapsed time 中减去 Latency 即可。

查看JMeter 词汇表

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

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

所以TTLB减号TTFB应该让您有时间将响应从服务器传输到 JMeter,并且假设您至少有 2 个具有不同响应大小的采样器,您可以计算出单个字节的网络吞吐量。

可以从JMeter 日志文件中获得一些额外的信息,如果您在协议级别启用调试日志记录,您将在日志中看到所有事件的时间戳:

需要添加到log4j2.xml文件中的行:

<Logger name="org.apache.http" level="debug" />

示例输出:

在此处输入图像描述


推荐阅读