首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哪个时间是log timeStamp?

哪个时间是log timeStamp?
EN

Stack Overflow用户
提问于 2015-11-17 13:31:26
回答 2查看 440关注 0票数 1

我有以下负载测试的测试结果-

代码语言:javascript
运行
复制
timeStamp,elapsed,label,responseCode,Latency
1447675626444,9,API1,201,9
1447675626454,1151,API2,404,Not Found,1151

显然,对API2的调用失败,在两个调用之间存在1ms的延迟。我知道标签timeStamp是来自时代的时间,但是是从客户端发出请求的时间还是接收最后一个响应字节的时间?如果是后者,我如何才能找到从客户端发出请求的时间?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-17 16:27:04

第一个timestamp是请求启动时间。当接收到第一个响应字节时,latency是时间戳的时间。elapsed是从时间戳收到完整响应的时间。所以在你的情况下

444: API1请求发出。9毫秒后,

453:接收到API1响应的第一个字节和最后一个字节--因为延迟与经过的454相同: API2请求已熄灭。

如果在JMeter中使用带有两个采样器的常规线程组,则在完全接收到对第一个采样器的响应之前,不会发出第二个请求。你的问题似乎不是纯粹的通话顺序。

==

为了澄清@Mike所说的“请求是以两行或三行代码发送的”:

时间戳是在JMeter采样器代码标记请求开始事件并生成日志条目时使用的。之后,JVM必须执行几行代码来使用Apache对象创建一个HTTPClient连接,组装一个HTTP请求,然后在可能的几个TCP数据包上发送一个HTTP数据包。在任何现代系统中,时间戳与实际发出的请求之间的这种差异将小于几毫秒。如果这个时间对您来说很重要,那么JMeter并不是真正合适的工具,您应该使用像Wireshark这样的网络嗅探器来寻找第一个数据包何时真正被发送的时间戳。

票数 2
EN

Stack Overflow用户

发布于 2015-11-17 13:55:42

正如您所说的,时间戳是API启动时间,也许请求是以两三行代码发送的。发送请求时无法获得确切的时间戳。据我所知,这不会影响你的表现。如果您只想测试发送请求与返回响应之间的间隔时间,则需要创建另一个API。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33758237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档