Existen innumerables herramientas de medición de presión en el mercado, por lo que presentaré brevemente algunas de las que se utilizan comúnmente.
1 、 Apache ab
ab es una herramienta de prueba de estrés que viene con apache, que es muy conveniente de usar.
instalación
1. La operación ab debe depender del paquete apr-util, el comando de instalación es:
yum install apr-util
2. Necesita el comando yumdownload para descargar. Sin este comando, puede:
yum install yum-utils
3. Cree un nuevo directorio para descargar y descomprimir:
cd /opt
mkdir abtmp
cd abtmp
yum install yum-utils.noarch
yumdownloader httpd-tools*
rpm2cpio httpd-tools*.rpm | cpio -idmv
4. Copie ./user/bin/ab en la bandeja del sistema:
cp /opt/abtmp/usr/bin/ab /usr/bin
5. Utilice el siguiente comando para comprobar si la instalación se ha realizado correctamente:
ab -V
6. ab --help puede realizar las pruebas necesarias
Prueba de estrés
Antes de la prueba de presión, es necesario centrarse en algunas opciones, ab -help
viendo
Options are:
-n requests 要执行的请求次数
-c concurrency 并发数量
-s timeout 响应时间
llevado a cabo:
# 总共100个并发执行1000此请求,超时时间为1s
ab -n 1000 -c 100 -s 1 http://www.baidu.com
2 、 wrk
wrk es una moderna herramienta de evaluación comparativa de rendimiento http desarrollada en lenguaje c, fácil de usar y potente.
instalación
Puede descargar el código fuente de github, compilar e instalar la dirección wrk github
Prueba de estrés
No hay muchas opciones de comando para wrk, es fácil de usar
Usage: wrk <options> <url>
Options:
-c, --connections <N> 建立的连接
-d, --duration <T> 执行测试时间
-t, --threads <N> 线程数量
-s, --script <S> 使用lua脚本(非常强大的功能,有兴趣可以深入研究)
-H, --header <H> 为每一个HTTP请求添加HTTP头
--latency 在压测结束后,打印延迟统计信息
--timeout <T> 超时时间
-v, --version Print version details
Numeric arguments may include a SI unit (1k, 1M, 1G)
Time arguments may include a time unit (2s, 2m, 2h)
# 10个线程100个连接压测30s
wrk -c100 -t10 -d30s http://www.baidu.com
3 、 JMeter
Apache JMeter es una herramienta de prueba de GUI escrita por Java con funciones poderosas y resultados diversos.
instalación
Puede ir a Apache JMeter para descargar e instalar.
utilizar
1. Crea un plan
2. Establecer grupo de subprocesos
Una vez establecido el plan, se puede establecer el grupo de subprocesos. El método de establecimiento: después de seleccionar el plan, editar> agregar> subprocesos> grupo de subprocesos
Thread Group puede establecer algunos parámetros del hilo, principalmente Número de hilos (usuarios) y Recuento de bucles
3. Agregar oyente
El Listener genera principalmente algunos informes de resultados, y la forma de agregarlos es: Editar> Agregar> Listener después de seleccionar Thread Group
Puede ver que hay muchos informes de resultados, normalmente utilizo los siguientes informes de resultados
-
Ver árbol de resultados
-
Informe agregado
-
Resultados gráficos
-
Ver tabla de resultados
Ver árbol de resultados
Este informe generará un árbol de solicitudes, haga clic para ver la información de cada solicitud
Informe agregado
Este informe generará estadísticas agregadas de la solicitud, los principales parámetros son QPS, velocidad de transmisión, etc.
Resultados gráficos
Resultados de informes gráficos de gran alcance
Algunas explicaciones de resultados gráficos
-
No de muestras: representa la cantidad de solicitudes enviadas al servidor
-
Desviación: Representa la distribución de datos que cambia en el servidor correspondiente al tiempo.
-
Última muestra: indica el momento en que el servidor respondió a la última solicitud
-
Rendimiento (tasa de rendimiento): aquí está la cantidad de datos procesados por el servidor por minuto
-
Promedio: indica el tiempo de ejecución total dividido por el número de solicitudes enviadas al servidor
-
Mediana (valor mediano): significa que la mitad del tiempo del servidor es menor que este valor y la otra mitad es mayor que este valor
Algunos análisis basados en resultados gráficos.
-
La tasa de rendimiento era relativamente baja cuando comenzó. A medida que aumenta el número de solicitudes, la tasa de rendimiento primero aumenta y luego disminuye.
-
La desviación también es buena para mantener un estado muy estable si la desviación con el número creciente de solicitudes realizadas, el servidor cada vez más inestable
Referencia: https://www.jianshu.com/p/8c622e304e14