Un artículo de 2000 palabras del 0 al 1 le enseñará la medición de presión distribuida con jmeter

1. ¿Por qué jmeter mide la presión distribuida?

Limitaciones de jmeter en sí

  • El número de subprocesos admitidos por Jmeter de una prensa está limitado por el propio mecanismo de Jmeter y la configuración del hardware (memoria, CPU, etc.)
  • Dado que Jmeter es una aplicación Java, consume una gran cantidad de CPU y memoria Cuando es necesario simular una gran cantidad de usuarios simultáneos, una sola máquina es propensa a errores de desbordamiento de memoria JAVA , lo que conduce a un cuello de botella en el script de prueba en sí .

Limitaciones de la memoria de almacenamiento dinámico de JVM

El montón de memoria de pila jvm de una aplicación Java está limitado por el hardware de la prensa, aunque podemos ajustar el tamaño de la memoria de pila

Cuando cmd habilite la GUI de Jmeter, también habrá un aviso

increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file

Traducción: Aumente la memoria del montón de Java para cumplir con los requisitos de la prueba

Sin embargo, una sola máquina no puede admitir decenas de miles de simultaneidad. En este momento, se necesitan varias prensas para las pruebas de esfuerzo distribuidas, de modo que el cuello de botella del rendimiento no sean nuestras prensas.

escena lenovo

  • Pruebe el escenario de 1000 subprocesos simultáneos, pero una sola máquina solo puede admitir 200 simultáneos y no puede llegar a 1000
  • Se pueden simular 1000 simultáneos a través de distribuidos (a partir de 5 máquinas)

Pruebas de estrés distribuidas

Jmeter admite la medición de presión distribuida y distribuye una gran cantidad de usuarios simultáneos que deben simularse en múltiples prensas, de modo que Jmeter tenga una carga mayor y cumpla con los escenarios comerciales reales (escenarios de alta concurrencia)

El objetivo final de la distribución.

  • Asegúrese de que la prensa no experimente cuellos de botella en el rendimiento
  • Una de las razones principales por las que la prensa no necesita considerar si la prensa causará un cuello de botella en el rendimiento al realizar un análisis de rendimiento más adelante

2. Principio distribuido

Después de leer la animación anterior, comprenderá. El principio es el siguiente:

  1. Cnotroller es la máquina de control, los esclavos son múltiples prensas
  2. En las pruebas distribuidas, Cnotroller distribuye scripts de prueba a todos los esclavos a través de la línea de comandos
  3. El esclavo no necesita iniciar la GUI de Jmeter y ejecuta pruebas a través del modo CLI
  4. Después de que el Esclavo termine de ejecutarse, enviará el resultado de regreso al Maestro
  5. El maestro recopila los resultados de todos los esclavos y los agrega en un conjunto de resultados

Aviso

  • La máquina de prensa también se puede llamar: máquina de carga, máquina agente, máquina ejecutiva, asador... varios nombres, pero todos son Slave
  • El maestro también puede ejecutar scripts de prueba, o no ejecutar solo responsable de gestión

3. Se han configurado los requisitos previos para la prueba de presión distribuida

注意事项

1、保持Contorller和Slave机器的JDK、jmeter以及插件等配置版本一致;
2、如果测试数据有用到CSV或者其他方式进行参数化,需要将data在每台Slave上复制一份,且读取路径必须保持一致;
3、确保Contorller和Salve机器在同一个子网里面;
4、检查防火墙是否被关闭,端口是否被占用(防火墙会影响脚本执行和测试结构收集,端口占用会导致Slave机报错);
5、分布式测试中,通过远程启动代理服务器,默认查看结果树中的响应数据为空,只有错误信息会被报回;
6、如果并发较高,建议将Contorller机设置为只启动测试脚本和收集汇总测试结果,在配置文件里去掉Contorller机的IP;

1. Modificar la configuración del Contorller

Abra el directorio bin en el archivo de instalación de jmeter en la máquina Contorller: el archivo jmeter.properties, busque remote_hosts=127.0.0.1 y escriba la IP y el puerto de la máquina Esclava detrás, por ejemplo:

remote_hosts=127.0.0.1:1099,172.16.6.90:1099,172.16.6.91:1099

Entre ellos, 172.16.6.90 y 172.16.6.90 son la IP de la máquina Slave, y cada máquina Agent está separada por una coma en inglés, modifique y guarde. Tenga en cuenta que el puerto predeterminado es 1099

Recuerde modificar independientemente de la máquina maestra: server.rmi.ssl.disable=true y eliminar #, de lo contrario se informará un error

2. Máquina de carga

  1. Primero instale el entorno jdk y jmeter, vea mi último artículo para más detalles. A continuación, abra el archivo de configuración /bin/jmeter.properties, busque y cancele el comentario server.rmi.ssl.disable=false de esta configuración y cambie falso por verdadero.
# Password of Trust store
#server.rmi.ssl.truststore.password=changeit
#
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true      # 改成true
  1. Ingrese el comando: jmeter-server -Djava.rmi.server.hostname=172.16.2.114 para iniciar el nodo anget. Los parámetros detrás de jmeter-server especifican la IP del agente

3. Empiece a trabajar

Después de iniciar jmeter, configure el grupo de subprocesos, los componentes de configuración, los muestreadores, los oyentes y otros componentes, y haga clic en "Ejecutar-Inicio remoto":

Puede optar por iniciar una máquina esclava de forma remota, o elegir iniciarlos todos de forma remota, y luego puede realizar pruebas distribuidas

Finalmente: para retribuir a los fanáticos acérrimos, he compilado un video tutorial de aprendizaje de prueba de software completo para usted. Si lo necesita, puede obtenerlo gratis【保证100%免费】

Documentación de la entrevista de prueba de software

Debemos estudiar para encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de empresas de Internet de primer nivel como Ali, Tencent y Byte, y algunos jefes de Byte han dado respuestas autorizadas. Termine este conjunto Los materiales de la entrevista creen que todo el mundo puede encontrar un trabajo satisfactorio.

Supongo que te gusta

Origin blog.csdn.net/IT_LanTian/article/details/131536718
Recomendado
Clasificación