transaction sampler results postprocessor manager debug cookie content timeout jmeter httpresponse load-testing performance-testing

timeout - sampler - Configuración del tiempo de espera de respuesta en Apache JMeter



jmeter view results tree (2)

Estoy tratando de verificar si el tiempo de respuesta de una solicitud HTTP en particular es superior a 30 segundos, y si es así, marcarlo como fallido y detener el hilo. Porque ahora a veces incluso puedo ver tiempos de respuesta cercanos a 80 segundos, un navegador que no espera tanto tiempo para una respuesta.

Encontré las siguientes tres formas de establecer un valor de tiempo de espera en JMeter, sin embargo esto me confunde, porque hay varias opciones y no sé cuál usar, o si hay alguna diferencia entre ellas.

Así que aquí están las opciones que encontré que están relacionadas con el tiempo de espera de respuesta:

  1. Configuración del valor de tiempo de espera de respuesta en la muestra
  2. Agregar una aserción de duración


3. Establecer el tiempo de espera en el archivo de configuración jmeter.properties . Opciones que encontré aquí:

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

Entonces, el problema es que no sé dónde establecer el tiempo de espera de respuesta de las opciones enumeradas. ¿Hay alguna diferencia entre estas opciones? Entonces, ¿qué me gustaría ver como resultado? Si una solicitud HTTP en particular tarda más de 30 segundos en responder, deje de esperar una respuesta y márquela como una solicitud fallida.


Los tiempos de espera de Socket / Connect y Lectura / Respuesta se pueden configurar desde la sección de Http Request Defaults en la GUI de jmeter. Ver muestra:

Tiempo de espera de conexión: 3 segundos
Tiempo de espera de respuesta: 20 segundos.


Para su necesidad, una afirmación no es la solución correcta, ya que solo marcará la solicitud como fallida pero esperará.

La opción correcta es un tiempo de espera de respuesta.

Respecto al 3er punto

  1. os_sampler.poll_for_timeout = x => no para http, vea:

  2. http.socket.timeout = x => se aplica a todas las solicitudes que usan HttpClient4 o 3, consulte:

  3. httpclient.timeout = x => Igual, vea:

Creo que la mejor opción es usar 1., si desea que esos valores se apliquen a todas las solicitudes, simplemente use el elemento Valores predeterminados de solicitud de HTTP: