Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La interfaz gráfica de usuario de jmeter se utiliza principalmente para depurar scripts.
Primero haz un guión
Demostración: ¿Cómo escribir un guión para una escena mixta?
Utilice un ratio de negocio de 211
Servicios de bases de datos: incluidos mysql, redis
puerto mysql predeterminado 3306
netstat -lntp | grep 3306
En estado de escucha, 6379 es el puerto predeterminado de redis
netstat -lntp | grep 6379
Puerto de servicio del proyecto 18089
netstat -lntp | grep 18089
El 211 se puede convertir en dos servicios de pruebas de estrés.
Una es registrarse, la otra es registrarse e iniciar sesión para agregar productos.
Ambos son 50%
jmeter—agregar grupo de subprocesos-agregar-subproceso-grupo de subprocesos-usuario
Convertir dos servicios de pruebas de estrés
jmeter—controlador lógico agregado—controlador de rendimiento
Convierta dos servicios de pruebas de estrés.
La primera prueba de estrés empresarial incluye registrarse, iniciar sesión y agregar productos.
La segunda prueba de estrés para el negocio es el registro.
50% cada uno
solicitud-http-agregar-sampler-jmeter
Convertir dos servicios de pruebas de estrés
Escriba de acuerdo con la arrogancia de registro, ingrese los parámetros
Generalmente, no es necesario completar el ID al insertarlo.
Tampoco es necesario completar Addtime
Copie y pegue los datos del parámetro en jmeter
ruta basada en URL
Todos pasan json
Complete la ip y el puerto según el documento de la interfaz
Lo mejor es agregar afirmaciones.
-nEjecutar jmeter en modo sin interfaz gráfica de usuario
-t ejecuta la ubicación del archivo de prueba. Especifica el script para ejecutar jmeter. No está en la ruta actual. Es necesario escribir la ruta completa.
-l especifica el archivo de resultados generado, que es un archivo jtl
-e Una vez completada la prueba, genera un informe de prueba.
-o especifica la ubicación de almacenamiento del html del informe de prueba
-r inicio remoto
Instale jdk y jmeter en linux press
Instalar bajo usr/local
Cargue directamente jmeter en la ventana a la prensa de Linux, porque los complementos involucrados en el script de depuración también están disponibles.
Nota: Si el script incluye un archivo de parámetros csv, debe cargar el archivo de parámetros csv en el directorio bin de jmeter en Linux.
Los informes de agregación y los oyentes deben desactivarse antes de cargarlos.
5 hilos, agrega uno cada 30s, es decir 150
La duración debe ser mayor que el tiempo de llamada de 150. Si se ejecuta durante otros 50 segundos, configúrelo en 200.
Después de cargar jmeter exitosamente, verifique la versión de jmeter y si está disponible.
Hay dos lugares
Primero, la ruta para almacenar el script de prueba debe crear un directorio para almacenar el informe html.
Antes de ejecutar el script, el directorio res debe estar vacío
En segundo lugar, limpie los datos en la tabla de la base de datos sin considerar los datos existentes.
resultado
Completó 548 solicitudes en 13 segundos.
Abrir informe agregado
El número de solicitudes ko fallidas.
tiempo de respuesta tiempo de respuesta
TPS
¿Cómo ver archivos jtl?
jtl se puede abrir en cualquier escucha, como ver el árbol de resultados, el informe agregado, los tps y el tiempo de respuesta.
Si se abre en un informe agregado, haga clic en Examinar
Como tps, tiempo de respuesta
Veamos primero los tps
agregar tps
Haga clic para navegar
Tiempo de respuesta
A veces una imprenta no puede lograr el objetivo y se necesita una imprenta distribuida.
Después de todo, los recursos de una sola máquina son limitados y es difícil admitir una gran concurrencia. Las prensas de una sola máquina también tienen cuellos de botella.
Página web oficial:https://jmeter.apache.org/usermanual/prueba_distribuida_de_jmeter_paso_a_paso.html
Una máquina servidor sirve como máquina de control.
El resto de máquinas se utilizan como máquinas de carga.
El servicio solicitado por target
El controlador controla de forma remota el arranque y la parada de la máquina de carga mediante el envío de señales y, al mismo tiempo, recopila datos y resúmenes de la máquina de carga.
La máquina de carga inicia principalmente subprocesos para acceder al servidor y apuntar al servidor bajo prueba de estrés.
Generalmente, el trabajador inicia la máquina de control del servidor jmeter para controlar de forma remota la máquina de carga. La máquina de carga inicia el hilo y solicita al objetivo que obtenga los datos y luego los envía de regreso a la máquina de control.
¿Dónde se colocan los guiones cuando se distribuyen?
Un controlador, varios trabajadores.
Cuando se ejecuta sin interfaz gráfica de usuario, el script se transmite al servidor. Ahora que está distribuido, ¿dónde se debe transmitir el script?
El script se transmitirá al controlador. Durante la ejecución, el script se enviará a cada máquina de carga, es decir, cada trabajador después de que la carga obtenga el script, comenzará a ejecutarlo. Después de la ejecución, se pasarán los datos. a la máquina de control para su resumen.
Es necesario cerrar el firewall. Si el firewall no está cerrado, es necesario abrir el puerto.
Todos los clientes deben estar en la misma subred.
Asegúrese de que jmeter pueda acceder al servidor
Asegúrese de que las versiones de jmeter y java sean las mismas
desactivar ssl
Requiere 3 máquinas virtuales
Utilice 181 como controlador (máquina de control)
Utilice 182,183 como trabajador (cargar máquina)
Al mismo tiempo, estas tres máquinas virtuales deben instalar jdk y jmeter.
Ver versión jdk
Instale jmeter en tres máquinas virtuales
El jmeter de la máquina local se transfiere al directorio usr/local de la máquina virtual.
Verifique la versión de jmeter después de cargar
182、182
Primero haga una copia de seguridad del archivo de configuración jmeter.properties
server_port se puede modificar o no. El valor predeterminado es 1099.
desactivar ssl
server.rmi.ssl.disable=false, cambie falso a verdadero
Iniciar sesión
./servidor jmeter
Verifique el puerto 182 para ver si está en estado de escucha
verificar
Haga Telnet desde la máquina de control a la máquina de carga para ver si se puede acceder al puerto.
Antes de configurar la máquina de control, depure en jmeter en la ventana.
ganar: para depurar
Primero haga una copia de seguridad del archivo de configuración jmeter.properties
De forma predeterminada, esta máquina se utiliza como máquina de carga.
La máquina de carga actual es una máquina de carga remota, cambie remote_hosts=127.0.0.1 a remote_hosts=192.168.117.182:1099
La IP y el puerto de la máquina de carga remota deben escribirse aquí. Si son múltiples, sepárelos con comas.
desactivar ssl
Cambie server.rmi.ssl.disable=false a server.rmi.ssl.disable=true
Primero depuralo a través de esta máquina.
Reinicie jmeter y vuelva a leer el archivo de configuración
Después de depurar en la ventana, vaya a Linux para realizar la configuración.
Configurar en 181
Primero haga una copia de seguridad del archivo de configuración jmeter.properties
La máquina de carga actual es una máquina de carga remota, queremote_hosts=127.0.0.1
Cambiar aremote_hosts=192.168.117.182:1099
La IP y el puerto de la máquina de carga remota deben escribirse aquí. Si son múltiples, sepárelos con comas.
servidor.rmi.ssl.disable=falso
Voluntadserver.rmi.ssl.disable=false
Cambiar aserver.rmi.ssl.disable=true
Cuando el script se transmite a la máquina de control, el script se distribuirá automáticamente a cada máquina de carga.
Inicio de sesión de escenario único de prueba independiente
Después de cargar el script, ejecútelo.
Ejecutar mediante carga remota
/usr/local/apache-jmeter-5.1.1/bin/jmeter -n -r -t test.jmx
Cada máquina de carga de trabajo (prensa) tiene 5 hilos, y la máquina de control total tiene 10 hilos.
Preparación ambiental
Dos máquinas virtuales. Hay un maestro y dos esclavos. La máquina Windows actúa como maestro y el esclavo usa una máquina virtual.
Fuente: https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Problemas que surgen:
java.rmi.RemoteException: No se puede iniciar. localhost.localdomain es una dirección de loopback
Objeto remoto creado: UnicastServerRef2 [liveRef: [endpoint:127.0.0.1:43474,objID:[-5a8dd143:17e2852fe88:-7fff, 3673082414768940798]]]
El servidor no pudo iniciarse: java.rmi.RemoteException: No se puede iniciar. localhost.localdomain es una dirección de bucle invertido.
Se produjo un error: No se puede iniciar. localhost.localdomain es una dirección de bucle invertido.
Información de excepción: Excepción de inicio del servidor: la llamada al método remoto de Java arrojó una excepción: No se puede iniciar el servicio. localhost.localdomain es una dirección de loopback local
El nombre de host obtenido mediante el comando hostname es localhost.
Verifique la configuración de los hosts mediante el comando cat /etc/hosts localhost localhost.localdomain localhost4... apunta a 127.0.0.1.
Solución:
Especifique la dirección IP del host del servidor remoto (rmi.server.hostname)
Comience especificando el comando de terminal
./jmeter-server -Djava.rmi.server.hostname=192.168.2.2