Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jmeter 哪个时间是日志时间戳_Jmeter - Fatal编程技术网

Jmeter 哪个时间是日志时间戳

Jmeter 哪个时间是日志时间戳,jmeter,Jmeter,我有以下负载测试的结果- timeStamp,elapsed,label,responseCode,Latency 1447675626444,9,API1,201,9 1447675626454,1151,API2,404,Not Found,1151 很明显,对API2的调用失败,两次调用之间有1毫秒的延迟。 我知道标签时间戳是从epoch开始的时间,但它是从客户端触发请求的时间还是接收到最后一个响应字节的时间? 如果是后者,那么如何查找从客户端触发请求的时间?正如您所说,时间戳是API启

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

timeStamp,elapsed,label,responseCode,Latency
1447675626444,9,API1,201,9
1447675626454,1151,API2,404,Not Found,1151
很明显,对API2的调用失败,两次调用之间有1毫秒的延迟。 我知道标签时间戳是从epoch开始的时间,但它是从客户端触发请求的时间还是接收到最后一个响应字节的时间?
如果是后者,那么如何查找从客户端触发请求的时间?

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

第一个
时间戳是请求开始时间。
latency
是从接收到第一个响应字节的时间戳开始的时间<代码>已用时间
是从接收到完整响应的时间戳开始的时间。所以在你的情况下

444:API1请求已发出。9毫秒后,在
453:收到API1响应的第一个字节和最后一个字节-因为延迟与经过的时间相同 454:API2请求已发出

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

==

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


时间戳是JMeter采样器代码标记请求启动事件并创建日志条目的时间。在此之后,JVM必须执行几行代码才能使用ApacheHttpClient对象创建TCP连接,组装HTTP请求,然后通过可能的几个TCP数据包发送HTTP数据包。在任何现代系统上,时间戳和发出的实际请求之间的差异将不到几毫秒。如果这个时间对您来说很重要,那么JMeter并不是真正合适的工具,您应该使用像Wireshark这样的网络嗅探器来查找第一个数据包实际传输的时间戳。

没有完全了解这一点
可能请求是在两行或三行代码之后发送的。时间戳对我来说很重要,因为API2应该只在API1正常后调用,因此在任何情况下都不应该在API1完成之前调用API2,并且是200OK@Tarun听起来序列对你来说很重要,而不是时间戳。是的,我可以使用if控制器来控制行为,但我想弄清楚时间戳到底指的是什么问题是JMeter发现的应用程序错误:)