Jmeter (51) - Desde el nivel básico hasta el dominio avanzado - guerra móvil de jmeter (tutorial detallado)

1. Introducción

La guerra móvil es un método de combate militar que se basa en un espacio de combate más grande para ganar tiempo para mover tropas para rodear al enemigo y utilizar fuerzas superiores para lograr una victoria rápida. La aplicación de la guerra móvil se puede clasificar de la siguiente manera: "Evitar el enemigo principal fuerza, atraer al enemigo profundamente y concentrar fuerzas superiores. Derrótalos uno por uno". Hoy, el hermano Hong también actuó como general, al mando de jmeter para destruir al enemigo en movimiento. Bien, dejemos de hablar y volvamos al tema, hoy explicaremos y compartiremos principalmente: cambiar la carga de jmeter mientras jmeter se está ejecutando.

2. Cambie la carga de jmeter mientras se ejecuta

En el texto, podemos ver fácilmente que el significado es modificar la presión de carga de jmeter sin detener el script en ejecución durante la prueba de jmeter en ejecución para lograr los resultados de prueba esperados. Los pasos generales son: Hong Ge completará la batalla móvil de jmeter mediante una combinación de tiempo de rendimiento constante (temporizador de rendimiento), una función y un servidor BeanShell. Los pasos específicos son los siguientes:

2.1 Crear script de prueba

1. Cree un plan de prueba y agregue un grupo de subprocesos. Para poder observar fácilmente los cambios de carga más adelante, Brother Hong configura el grupo de subprocesos para siempre. Como se muestra abajo:

Si desea aprender sobre pruebas automatizadas, le recomiendo un conjunto de videos. Se puede decir que este video es el tutorial de pruebas automatizadas número uno en toda la red reproducido por Bilibili. La cantidad de personas en línea al mismo tiempo ha llegado a 1000. , y también hay notas que se pueden recoger y comunicar por varios canales Comunicación técnica maestra: 798478386    

[Actualizado] Una colección completa de los tutoriales prácticos más detallados sobre pruebas automatizadas de interfaces Python impartidas por Bilibili (la última versión práctica)_bilibili_bilibili [Actualizado] Una colección completa de los tutoriales prácticos más detallados sobre pruebas automatizadas de interfaces Python impartidas por Bilibili (versión práctica ) La última versión) tiene un total de 200 videos, que incluyen: 1. Por qué se debe realizar la automatización de la interfaz para la automatización de la interfaz, 2. Vista general de la solicitud de automatización de la interfaz, 3. Práctica de la interfaz para la automatización de la interfaz, etc. Para videos más interesantes desde UP master, siga la cuenta UP. icono-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

2. Agregue una muestra. La configuración de la muestra es como se muestra en la siguiente figura:

 3. Agregue tiempo de rendimiento constante (temporizador de rendimiento), recuerde que este contador está bajo Du Niang. La configuración (la función utilizada es __P) se muestra a continuación:

4. Finalmente agregue monitores: Ver árbol de resultados, Graficar resultados y jp@gc - Rendimiento de bytes a lo largo del tiempo. Como se muestra abajo:

2.2 Servidor BeanShell

Utilice JMeter Beanshell como servidor para emitir comandos de Beanshell. Actualizamos el parámetro "hits" previamente definido llamando a la función Beanshell. Beanshell es un intérprete de código fuente de Java integrado en JMeter.

1. Descomente la siguiente línea en jmeter.properties (alrededor de 908). También puede abrir el archivo Ctrl+F para encontrar rápidamente BeanShell y ubicarlo, como se muestra en la siguiente figura:

 2. Reinicie jmeter e ingrese en la ventana de comando de documentos: Netstat -an | busque  el comando "9000" para ver el estado de ejecución del puerto, como se muestra en la siguiente figura:

Al mismo tiempo, también puede ver el puerto iniciado en la página de inicio de jmeter, como se muestra en la siguiente figura: 

3. Cree la carpeta bsh en el directorio de inicio de JMeter y agregue un archivo .bsh llamado update_parameter.bsh, que contiene el siguiente contenido: setprop("hits",args[0]);   como se muestra en la siguiente figura:

imagen

 4. Ingrese el comando cmd en el directorio de inicio de jmeter para ingresar a la ventana de comando de documentos, como se muestra en la siguiente figura:

 5. Ejecute  dir bash\    como se muestra a continuación:

 6. El archivo que llama a la función setprop para actualizar "hits" con el valor en el primer argumento (args[0]) ahora puede llamar al .bsh creado para actualizar "hits" mientras se ejecuta la prueba. Actualice los parámetros a "1200" solicitudes por minuto mediante el siguiente comando en el directorio de inicio de jmeter:

java -jar .\lib\bshclient.jar localhost 9000 .\bsh\update_parameter.bsh 1200

7. Debido a que comenzó con 1200, ahora 0 se actualiza a 120, como se muestra en la siguiente figura:

8. Después de ejecutarse durante un período de tiempo, Hongge se actualiza de 120 a 1200, como se muestra en la siguiente figura:

 9. Observe el rendimiento durante la operación. Hay cambios obvios. ¿Muestra una forma de U (forma de herradura)? Debido a que el rendimiento establecido por el hermano Hong era 1200 al principio. Después de ejecutarlo durante un período de tiempo, cámbielo dinámicamente a 120 a través del comando, y luego reinicie Después de ejecutarse durante un período de tiempo, se modifica dinámicamente a 1200 a través del comando, por lo que adquiere forma de U como se muestra en la figura. Si lo cambia a 120, formará una V inmediatamente después de cambiarlo a 1200. Como se muestra abajo:

3. Resumen

 Es posible que mis amigos no vean el efecto después de seguir los pasos. De hecho, ni siquiera lo vi la primera vez que lo ejecuté. Después de una ronda de resolución de problemas, no hay ningún problema. ¿Cuál es exactamente el problema? No se obtienen los resultados esperados. Luego, después de cambiar el número de usuarios en el grupo de subprocesos a 10, apareció el efecto esperado. Supongo que puede ser que para un usuario, el rendimiento de 120 sea suficiente, por lo que el cambio de 1200 a 120 y luego a 1200 es básicamente un línea recta No hay nada Variedad. Si conoce los principios subyacentes o si algo anda mal, puede decírmelo o señalarlo y lo corregiré a tiempo.

 

Supongo que te gusta

Origin blog.csdn.net/Faith_Lzt/article/details/133309490
Recomendado
Clasificación