stress software pruebas paso ejemplos jmeter

software - jmeter windows



Hay diferencia de tiempo de respuesta de Jmeter entre los resultados de la ejecuciĆ³n de Jmeter y el tiempo de respuesta capturado manualmente (2)

Dado que configura correctamente JMeter, debe obtener el mismo tiempo de respuesta o similar para la misma solicitud. La configuración "adecuada" significa:

  1. Debe configurar JMeter para recuperar los recursos incrustados y usar un grupo de subprocesos paralelos de ~ 5 hilos para esto

    Esta opción "le dice" a JMeter que busque imágenes, estilos y scripts a los que se hace referencia en la página HTML principal y lo hace en paralelo, como hacen los navegadores reales.

  2. Agregue el Administrador de caché HTTP a su Plan de prueba . Los navegadores reales descargan recursos incrustados pero lo hacen solo una vez; en solicitudes posteriores, los recursos se devuelven desde el caché de disco, no se realiza ninguna solicitud en sí. HTTP Cache Manager habilita la simulación de caché y el manejo de encabezados de control de caché.
  3. Agregar HTTP Cookie Manager para representar cookies / sesiones y tratar con autenticación basada en cookies
  4. Agregue el Administrador de encabezado HTTP a su plan de prueba para representar los encabezados del navegador. Podría ser importante, ya que es decir, la falta del encabezado Aceptar codificación podría deshabilitar la compresión del lado del servidor, por lo tanto, el cliente recibirá muchos más datos y llevará más tiempo.
  5. Asumiendo la "buena" configuración de JMeter, debería ver más o menos el mismo comportamiento

    Si todavía hay diferencias, capture las solicitudes enviadas por JMeter y el navegador mediante una herramienta de análisis como Wireshark y modifique la configuración de JMeter para eliminar las diferencias.

Hay una diferencia de tiempo de respuesta de Jmeter entre los resultados de la ejecución de Jmeter y el tiempo de respuesta del sistema local capturado manualmente utilizando el cronómetro en la aplicación web.

  1. Navegue por la aplicación web desde el sistema local de Windows y use el cronómetro para ver el tiempo de respuesta para cargar la página.
  2. Ejecute el Jmeter en modo no gui / gui y observe el tiempo de respuesta (los Listeners utilizados solo para depurar, cuando se ejecutó el script no se agregó ningún detector)
  3. Puede ver que hay una diferencia en ambos. Sugiera cómo saber si Jmeter ha capturado el tiempo de respuesta correcto.

JMeter tiene tres medidas básicas que captura por solicitud:

  • Tiempo transcurrido (que es el intervalo de tiempo general desde el momento en que comienza a enviar la solicitud hasta el último bit recibido)

  • Latencia (que inicia el mismo punto en el tiempo y finaliza cuando el servidor comienza a responder)

  • Y Connect time (que está incluido en la latencia y es básicamente el momento de los apretones de manos con el servidor, incluidas las negociaciones SSL / TLS)

Por lo tanto, si configura un escritor de datos entre sus oyentes (por ejemplo, SimpleDataWriter, aunque también puede hacerlo AggregateReport & SummaryReport), verá estas métricas en su archivo de datos (mientras que los oyentes / visualizadores / agregadores estándar solo se ajustan al tiempo transcurrido).

Pero tenga en cuenta que estas métricas no incluyen el procesamiento de respuestas, y especialmente cualquier código que deba ejecutar el navegador.

JMeter simplemente no lo hace para nada: obviamente, mide solo el rendimiento combinado de Servidor + Red, omitiendo todo en el lado del cliente (excepto por las necesidades básicas, como las negociaciones de protocolo).

Eso podría explicar la diferencia que has experimentado.

Además de la diferencia entre los tiempos de procesamiento del servidor registrado y los tiempos de respuesta medidos por JMeter: el servidor simplemente no cuenta lo que trae la red.

PS: no tiene que sentarse y hacer clic en el cronómetro con su navegador: los más modernos tienen una herramienta de desarrollo capaz de mostrarle los tiempos de precisión divididos por etapas. Por ejemplo, simplemente presione Ctrl + Shift + I en Chrome, cambie a la pestaña de red y observe los tiempos justo allí mientras realiza sus solicitudes.