在Apache JMeter中配置响应超时

时间:2014-08-08 16:19:51

标签: timeout jmeter httpresponse load-testing performance-testing

我正在尝试检查特定HTTP请求的响应时间是否超过30秒,如果是,则将其标记为失败并停止该线程。因为现在有时我甚至可以看到接近80秒的响应时间,没有浏览器等待那么长的回复。

我在JMeter中找到了以下三种设置超时值的方法,但这让我感到困惑,因为有多种选择,我不知道要使用哪一种,或者它们之间是否存在任何差异

以下是我发现的与响应超时相关的选项:

  1. 在采样器中设置响应超时值 enter image description here
  2. 添加持续时间断言
  3. enter image description here
     3.在 jmeter.properties 配置文件中设置超时。我在这里找到的选项:

    1. os_sampler.poll_for_timeout = X
    2. http.socket.timeout = X
    3. httpclient.timeout = X
    4. 所以,问题是我不知道从列出的选项中设置响应超时的位置。这些选项之间有什么区别吗? 所以我希望看到结果:如果某个特定的HTTP请求需要超过30秒的时间来回复,请停止等待响应并将其标记为失败的请求。

2 个答案:

答案 0 :(得分:19)

可以在jmeter GUI的Http Request Defaults部分设置套接字/连接和读取/响应超时。见样本:

连接超时:3秒
响应超时:20秒。

enter image description here

答案 1 :(得分:9)

根据您的需要,断言不是正确的解决方案,因为它只会将请求标记为失败,但会等待。

正确的选项是响应超时。

关于第3点

  1. os_sampler.poll_for_timeout = x =>不是http,请参阅:

  2. http.socket.timeout = x =>适用于使用HttpClient4或3的所有请求,请参阅:

  3. httpclient.timeout = x =>同样,见:

  4. 我认为最好的选择是使用1.,如果您希望这些值应用于所有请求,只需使用Http Request Defaults元素: