在Apache JMeter中配置响应超时

Dom*_*tal 21 timeout httpresponse jmeter load-testing performance-testing

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

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

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

  1. 在采样器中设置响应超时值 在此输入图像描述
  2. 添加持续时间断言

在此输入图像描述
3.在jmeter.properties配置文件中设置超时.我在这里找到的选项:

  1. os_sampler.poll_for_timeout = X
  2. http.socket.timeout = X
  3. httpclient.timeout = X

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

Dev*_*rim 21

可以从Http Request Defaultsjmeter GUI的部分设置套接字/连接和读取/响应超时.见样本:

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

在此输入图像描述


UBI*_*ACK 12

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

正确的选项是响应超时.

关于第3点

  1. os_sampler.poll_for_timeout = x =>不适用于http,请参阅:

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

  3. httpclient.timeout = x =>相同,请参阅:

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

  • 那么...... Http Request Defaults 元素是否覆盖了底层的`http.socket.timeout` 和`httpclient.timeout` - 我会这么认为吗? (2认同)