jmeter processors controllers
Descripción general de preprocesadores y controladores en JMeter (Parte III):
=> Siga una serie completa de tutoriales gratuitos de JMeter aquí
Este artículo guiará a los usuarios a través del uso de preprocesadores, posprocesadores y controladores en JMeter. Los controladores son muy útiles ya que crean escenarios de prueba.
Es posible que desee probar diferentes escenarios en los que desee configurar su propia secuencia de envío de una solicitud a un servidor para monitorear el tiempo de respuesta y otros factores de rendimiento.
Lo que vas a aprender:
- Preprocesadores
- Parámetros de usuario
- Tiempo de espera de muestra
- Controladores
- Ejemplo de tiempo real
- Plantilla de grabación de JMeter
- Conclusión
- Lectura recomendada
Preprocesadores
Estos son los elementos que se ejecutan antes de que se ejecute un muestreador. Puede adjuntar el preprocesador con el muestreador para el que desea realizar algunos cambios en la solicitud.
El caso más simple podría ser agregar el preprocesador 'Sample Timeout' con una solicitud HTTP para que esta solicitud se ejecute solo durante un período de tiempo definido. También se asegura de que esta modificación se realice solo para el muestreador principal.
A continuación se muestran algunos de los preprocesadores utilizados en JMeter:
- Preprocesador de cáscara de frijol
- Analizador de enlaces HTML
- Reescritura de URL HTTP
- Preprocesador JDBC
- Tiempo de espera de muestra
- Parámetros de usuario
Los más utilizados se explican a continuación con ejemplos. Puede que necesite o no todo en sus proyectos. Trate de identificar los escenarios relacionados con su proyecto e implemente aquellos que le ayuden a cubrir escenarios de desempeño en tiempo real.
Parámetros de usuario
Los parámetros de usuario se utilizan para definir valores para las variables antes de que se utilicen en los muestreadores. Cuando JMeter ejecuta este elemento de preprocesador, almacena los valores en las variables que pueden ser referenciadas por cualquier Samplers dentro del mismo grupo de subprocesos.
enrutador de equilibrio de carga dos conexiones a internet
Si tiene más subprocesos que la cantidad de usuarios en 'Parámetros de usuario', los subprocesos adicionales volverán a repetir los valores.
Por ejemplo, tiene 5 usuarios en su grupo de subprocesos pero solo 3 en el preprocesador, luego sus 4thy un 5thhilo usará param1 y param2 .
Tiempo de espera de muestra
Este preprocesador se utiliza para definir la duración del tiempo de espera para las solicitudes.
Por ejemplo, Si ha puesto un tiempo de muestra de 400 milisegundos, todas las solicitudes que tarden más de 400 tendrán una respuesta fallida. Consulte las capturas de pantalla a continuación.
Controladores
Los controladores son muy importantes para crear un plan de prueba de JMeter en tiempo real. Define la secuencia en la que se envían las solicitudes al servidor.
Por ejemplo, Si desea probar una aplicación web en la que desea iniciar sesión una vez y realizar la búsqueda, la selección de elementos solicita ir una por una para todas las iteraciones. Los controladores lo hacen posible mediante la gestión del flujo de solicitudes que ingresan al servidor bajo prueba.
A continuación se muestran los controladores más utilizados en JMeter
- Controlador simple
- Controlador de módulo
- Una sola vez controlador
- Controlador de entrelazado
- Controlador de bucle
- Si controlador
- Para cada controlador
- Controlador de grabación y etc.,
Controlador simple
El controlador simple no realiza ninguna función específica. Es solo una especie de contenedor en el que puede guardar sus solicitudes similares para que su plan de prueba sea fácilmente comprensible.
Controlador de bucle
Si desea que alguna solicitud específica ejecute más iteraciones de las especificadas en Thread Group, puede colocarlas en Loop Controller e ingresar el conteo de bucles en la configuración del controlador.
Ejemplo: Si tiene un grupo de subprocesos con 1 usuario y 3 iteraciones, todas sus solicitudes en este grupo se ejecutarán 3 veces. Ahora, si tiene dos muestreadores HTTP bajo un controlador de bucle con recuento de bucles 2, ambos muestreadores se ejecutarían 1 * 3 * 2 = 6 veces.
Consulte las capturas de pantalla a continuación que lo explican con más detalle.
Una sola vez controlador
Este controlador se usa cuando desea ejecutar una solicitud específica solo una vez, incluso si tiene varios subprocesos en el grupo de subprocesos. El ejemplo más simple que se puede considerar es 'Obtener la página de inicio de un sitio web' o 'Iniciar sesión en una aplicación web'. El escenario en tiempo real querría que sucediera una sola vez y que otras solicitudes, como buscar o editar / eliminar algo, sucedieran varias veces.
La solicitud que se ejecutará solo una vez se puede colocar en el controlador Solo una vez. Consulte la captura de pantalla a continuación para su referencia. La configuración Once Only Controller omite la configuración del grupo de subprocesos principal.
Controlador de grabación
Al igual que Simple Controller, Recording Controller no modifica ninguna secuencia de las solicitudes que se envían al servidor. Se utiliza con HTTP (S) Script Recorder. Todas las solicitudes que se registran con este elemento que no es de prueba se guardan en el controlador de grabación.
Debe especificar el controlador de destino para guardar las solicitudes registradas realizadas al servidor.
El controlador de grabación y la grabadora de secuencias de comandos HTTP (s) entran en escena cuando los evaluadores no tienen la información sobre las URL y los parámetros de las solicitudes. Simplemente pueden registrar y capturar todas las solicitudes que llegan a sus servidores. Esto funciona tanto para proyectos móviles como web.
Controlador de rendimiento
Este controlador también se utiliza para controlar el flujo de ejecución. Como se ve en el siguiente recorte, este controlador se divide en dos partes:
Ejecución porcentual – Esta selección hará que Jmeter ejecute solo un cierto porcentaje del total de iteraciones para los muestreadores colocados bajo este controlador. También puede marcar la casilla de verificación 'Por usuario' para controlar esto a nivel de usuario.
Por ejemplo, Thread Group está configurado para tener 10 usuarios y el recuento de bucles es 5. Por lo tanto, el total de iteraciones es 50. Si el% de ejecución se establece en 50%, entonces todos los Samplers bajo el Throughput Controller realizarán 25 iteraciones solamente (50% de 50).
Ejecuciones totales - Esto permite a los usuarios especificar el número de iteraciones directamente para los muestreadores contenidos en este controlador.
Controlador de entrelazado
Este controlador le permite aumentar el alcance de sus pruebas de rendimiento modificando la secuencia en n números de formas para que pueda probar la carga en el servidor cuando las aplicaciones acceden a solicitudes con diferentes secuencias. Interleave Controller hace selecciones alternativas con los muestreadores debajo de él.
En caso de que haya otros controladores como Simple Controller bajo este bloque, el controlador intercalado da el privilegio de seleccionar un muestreador de un contenedor para cada iteración. Para explicarlo con más detalle, considere el plan de prueba a continuación.
Entonces, Jmeter iterará alternativamente entre los controladores para cada iteración. Por lo tanto, la secuencia se mencionará a continuación.
Solicitud1 -> Solicitud3 -> Solicitud 5 - Solicitud2 -> Solicitud4 -> Solicitud6
Consulte los resultados de JMeter a continuación con Número de subprocesos = 2 y Recuento de bucles = 2.
aplicaciones que espían otros teléfonos
En el ejemplo anterior, Jmeter está entrelazado con el siguiente bucle / iteración. Hay configuraciones en Interleave Controller que pueden hacer que JMeter envíe solicitudes alternativas con cada nuevo hilo.
Vea los resultados a continuación. Esto es útil en escenarios en los que desea servidores de impacto de carga secuenciales o simultáneos con la secuencia diferente de la solicitud desde la misma máquina.
Controlador aleatorio
Funciona casi como el controlador Interleave pero no selecciona los muestreadores en orden. Simplemente selecciona los subcontroladores y los muestreadores dentro de ellos de forma aleatoria.
Si controlador
Si Controller funciona de manera similar, una expresión IF se trata en cualquier lenguaje de programación. La condición se valida primero y luego los componentes bajo este contenedor se ejecutan si la condición es VERDADERA; de lo contrario, se ejecutarán los elementos fuera del controlador IF.
Ejemplo : Continuando con uno de los ejemplos anteriores relacionados con el controlador de intercalación, ahora uno de los dos controladores de intercalación se ha mantenido bajo el controlador IF y la condición “$ (COUNT)<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
Definición y asignación de un valor a COUNT variable.
Definición de condición en Si controlador ajustes. Jmeter validará esta condición y, si es TRUE, ejecutará los bloques bajo este contenedor.
Como puede ver en el plan de prueba a continuación, solo Request3, Request4 y Request5 se ejecutarán en caso de que IF Condition se evalúe como Falso .
Mientras que los controladores
Este controlador ejecuta los componentes debajo de él hasta que la condición se vuelve falsa.
Por ejemplo, digamos que tenemos una condición while ($ (count)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
Configure el elemento de configuración 'Contador' para que comience en 1 y luego se incremente en cada iteración. Consulte a continuación para obtener más aclaraciones:
Hablaremos del resto de los controladores en nuestros videos tutoriales.
Ejemplo de tiempo real
Consideremos un escenario en el que el equipo de prueba no conoce las URL y los parámetros de todas las solicitudes que llegan al servidor bajo prueba. Ahora, para probar la carga del servidor, necesitan registrar las solicitudes y luego modular la carga de forma secuencial o simultánea y crear escenarios a partir de ellas para realizar las pruebas de rendimiento.
Pasos
el mejor software para convertir archivos de video
- Agregar una plantilla en Jmeter para el controlador de grabación
- Configure el proxy en su navegador y elija el mismo puerto en HTTP (s) Script Recorder
- Registra las solicitudes
- Modificar el plan de prueba y aumentar la carga
- Agrupe las transacciones en consecuencia
- Pruebe diferentes combinaciones de solicitud
Plantilla de grabación de JMeter
JMeter también tiene una plantilla predefinida. Seleccione la opción 'Plantilla' del menú Archivo. Después de seleccionar la plantilla, elija la opción 'Grabación' en la ventana que se abre y haga clic en Crear.
Tan pronto como seleccione esta plantilla de grabación, verá algunos componentes ya agregados en el plan de prueba.
- Grabador de scripts HTTP (s) en el banco de trabajo
- Valores predeterminados de solicitud HTTP y administrador de cookies HTTP
- Controlador de grabación en grupo de subprocesos.
Puede realizar la configuración del proxy en su navegador para hablar con el servidor proxy JMeter o usar la extensión CHROME Blazemeter para registrar las solicitudes y luego exportar el archivo. jmx archivo a Jmeter. Hay muchas otras extensiones para grabar el script y luego exportarlo a JMeter. La herramienta BADBOY también funciona bien con Jmeter para registrar visitas tanto web como móviles.
Haga clic en. jmx para exportar la solicitud registrada a Jmeter. Ahora desde Jmeter, abra el. jmx y vea las solicitudes y los parámetros asociados con cada solicitud.
Conclusión
A estas alturas, se supone que todos deben haberse familiarizado mucho con la lógica básica de JMeter, cómo simula la carga, cómo jugar con diferentes tipos de Samplers, cómo controlar el flujo de ejecución con el uso de Controller y usando variables y funciones para ejecutar los bucles en las iteraciones. Ciertamente, este no es el final de la serie de tutoriales sobre JMeter.
Hay muchos videos tutoriales a continuación, lo que guiará a los probadores con más experiencia en diferentes escenarios en Jmeter y cómo cada componente de JMeter se puede utilizar de la mejor manera.
=> Consulte la lista completa de tutoriales en vídeo de JMeter aquí
Comparta sus comentarios o preguntas con nosotros.
Lectura recomendada
- Controladores Jmeter Parte 1
- Controladores Jmeter Parte 2
- Cómo lograr la correlación de JMeter con el ejemplo
- Trabajar con solicitudes HTTP en JMeter
- Trabajar con solicitud de FTP en JMeter
- Uso de postprocesador en JMeter (Extractor de expresiones regulares)
- Los 5 mejores complementos de JMeter y cómo usarlos (con ejemplos)
- Temporizadores JMeter: Temporizador aleatorio constante, BeanShell y Guassian