La prueba de estrés de los servidores Linux es una buena idea si desea ver si funcionan correctamente.
¿Por qué aumentar la presión sobre los sistemas Linux?
Esto se debe a que a veces es posible que desee saber cómo funcionará un sistema cuando se encuentre bajo mucha presión por una gran cantidad de procesos en ejecución, gran tráfico de red, uso excesivo de memoria, etc. Esta prueba puede ayudar a garantizar que un sistema esté listo para uso general.
Bucle manual
La primera forma es ejecutar algunos bucles en la línea de comandos y ver cómo afectan al sistema. Esta técnica sobrecarga la CPU y descarga una gran cantidad de datos. Los resultados se pueden ver fácilmente usando el tiempo de actividad o comandos similares.
En el siguiente comando, se inician cuatro bucles sin fin. Puede aumentar el número de bucles agregando números o usando la expresión bash como {1.6} en lugar de “1 2 3 4”.
for i in 1 2 3 4; do while : ; do : ; done & done
Ingrese la línea de comando, este comando iniciará cuatro bucles infinitos en la plataforma del sistema.
$ for i in 1 2 3 4; do while : ; do : ; done & done [1] 205012 [2] 205013 [3] 205014 [4] 205015
En este caso, la sesión 1-4 ha comenzado. Se muestran el número de sesión y el ID del proceso.
Para observar el efecto por encima de la carga promedio, use el comando que se muestra a continuación. En este caso, el comando uptime se ejecuta cada 30 segundos:
$ while true; do uptime; sleep 30; done
Si planea ejecutar la prueba periódicamente, puede definir el comando loop de la siguiente manera:
#!/bin/bash while true do uptime sleep 30 done
En la salida, puede ver el aumento de carga promedio y luego comenzar a disminuir a medida que terminan los bucles.
11:25:34 up 5 days, 17:27, 2 users, load average: 0.15, 0.14, 0.08 11:26:04 up 5 days, 17:27, 2 users, load average: 0.09, 0.12, 0.08 11:26:34 up 5 days, 17:28, 2 users, load average: 1.42, 0.43, 0.18 11:27:04 up 5 days, 17:28, 2 users, load average: 2.50, 0.79, 0.31 11:27:34 up 5 days, 17:29, 2 users, load average: 3.09, 1.10, 0.43 11:28:04 up 5 days, 17:29, 2 users, load average: 3.45, 1.38, 0.54 11:28:34 up 5 days, 17:30, 2 users, load average: 3.67, 1.63, 0.66 11:29:04 up 5 days, 17:30, 2 users, load average: 3.80, 1.86, 0.76 11:29:34 up 5 days, 17:31, 2 users, load average: 3.88, 2.06, 0.87 11:30:04 up 5 days, 17:31, 2 users, load average: 3.93, 2.25, 0.97 11:30:34 up 5 days, 17:32, 2 users, load average: 3.64, 2.35, 1.04
Como la carga promedio es de 1, 5 y 15 minutos, los valores tardarán un tiempo en volver a la normalidad del sistema.
Para detener el bucle, ejecute el comando kill como se muestra a continuación; suponga que el número de sesiones es de 1 a 4 como se indicó anteriormente. Si no está seguro, utilice el comando de trabajos para verificar el ID de sesión.
$ kill %1 %2 %3 %4
Herramienta dedicada para agregar presión al sistema
Otra forma de crear la presión del sistema relacionada es utilizar una herramienta diseñada para agregar presión al sistema por usted. Uno de ellos se llama “estrés” y puede aumentar la presión del sistema de varias formas. La herramienta de adición de presión es un generador de volumen de sesión que proporciona pruebas de presión de E / S de CPU, memoria y disco.
Con la opción –cpu, el comando stress usa la función de raíz cuadrada para forzar a la CPU a trabajar más. Cuanto mayor sea el número de CPU especificado, más rápido aumentará la carga.
El comando watch-it-2 se puede utilizar para evaluar la eficiencia del uso de la memoria del sistema. Tenga en cuenta que utiliza el gratis comando para ver la retroalimentación de presión.
$ cat watch-it-2 #!/bin/bash while true do free sleep 30 done
Comience a monitorear la presión del sistema:
$ stress --cpu 2
$ ./watch-it 13:09:14 up 5 days, 19:10, 2 users, load average: 0.00, 0.00, 0.00 13:09:44 up 5 days, 19:11, 2 users, load average: 0.68, 0.16, 0.05 13:10:14 up 5 days, 19:11, 2 users, load average: 1.20, 0.34, 0.12 13:10:44 up 5 days, 19:12, 2 users, load average: 1.52, 0.50, 0.18 13:11:14 up 5 days, 19:12, 2 users, load average: 1.71, 0.64, 0.24 13:11:44 up 5 days, 19:13, 2 users, load average: 1.83, 0.77, 0.30
Cuantas más CPU especifique en la línea de comandos, más rápida será la carga.
$ stress --cpu 4 $ ./watch-it 13:47:49 up 5 days, 19:49, 2 users, load average: 0.00, 0.00, 0.00 13:48:19 up 5 days, 19:49, 2 users, load average: 1.58, 0.38, 0.13 13:48:49 up 5 days, 19:50, 2 users, load average: 2.61, 0.75, 0.26 13:49:19 up 5 days, 19:50, 2 users, load average: 3.16, 1.06, 0.38 13:49:49 up 5 days, 19:51, 2 users, load average: 3.49, 1.34, 0.50 13:50:19 up 5 days, 19:51, 2 users, load average: 3.69, 1.60, 0.61
El comando de estrés también puede ejercer presión sobre el sistema agregando E / S y cargando memoria con las opciones –io (entrada / salida) y –vm (memoria).
Por ejemplo, este comando agrega la presión de memoria que se ejecutará y luego usa watch-it-2 para comenzar:
$ stress --vm 2
$ watch-it-2 total used free shared buff/cache available Mem: 6087064 662160 2519164 8868 2905740 5117548 Swap: 2097148 0 2097148 total used free shared buff/cache available Mem: 6087064 803464 2377832 8864 2905768 4976248 Swap: 2097148 0 2097148 total used free shared buff/cache available Mem: 6087064 968512 2212772 8864 2905780 4811200 Swap: 2097148 0 2097148
Alternativamente, puede usar la opción –io para agregar operaciones de entrada / salida al sistema. En este caso, use el comando:
$ stress --io 4
A continuación, puede observar el nivel de presión IO con yodo. Tenga en cuenta que iotop requiere acceso de root.
antes de
$ sudo iotop -o Total DISK READ: 0.00 B/s | Total DISK WRITE: 19.36 K/s Current DISK READ: 0.00 B/s | Current DISK WRITE: 27.10 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 269308 be/4 root 0.00 B/s 0.00 B/s 0.00 % 1.24 % [kworker~fficient] 283 be/3 root 0.00 B/s 19.36 K/s 0.00 % 0.26 % [jbd2/sda1-8]
después de
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s Current DISK READ: 0.00 B/s | Current DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 270983 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 51.45 % stress --io 4 270984 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 51.36 % stress --io 4 270985 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 50.95 % stress --io 4 270982 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 50.80 % stress --io 4 269308 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.09 % [kworker~fficient]
resumen
Las herramientas de prueba de presión del sistema le ayudarán a saber cómo reaccionará el sistema operativo en situaciones de la vida real.
sistema operativo linux linux
La prueba de estrés de los servidores Linux es una buena idea si desea ver si funcionan correctamente.
¿Por qué aumentar la presión sobre los sistemas Linux?
Esto se debe a que a veces es posible que desee saber cómo funcionará un sistema cuando se encuentre bajo mucha presión por una gran cantidad de procesos en ejecución, gran tráfico de red, uso excesivo de memoria, etc. Esta prueba puede ayudar a garantizar que un sistema esté listo para uso general.
Bucle manual
La primera forma es ejecutar algunos bucles en la línea de comandos y ver cómo afectan al sistema. Esta técnica sobrecarga la CPU y descarga una gran cantidad de datos. Los resultados se pueden ver fácilmente usando el tiempo de actividad o comandos similares.
En el siguiente comando, se inician cuatro bucles sin fin. Puede aumentar el número de bucles agregando números o usando la expresión bash como {1.6} en lugar de “1 2 3 4”.
for i in 1 2 3 4; do while : ; do : ; done & done
Ingrese la línea de comando, este comando iniciará cuatro bucles infinitos en la plataforma del sistema.
$ for i in 1 2 3 4; do while : ; do : ; done & done [1] 205012 [2] 205013 [3] 205014 [4] 205015
En este caso, la sesión 1-4 ha comenzado. Se muestran el número de sesión y el ID del proceso.
Para observar el efecto por encima de la carga promedio, use el comando que se muestra a continuación. En este caso, el comando uptime se ejecuta cada 30 segundos:
$ while true; do uptime; sleep 30; done
Si planea ejecutar la prueba periódicamente, puede definir el comando loop de la siguiente manera:
#!/bin/bash while true do uptime sleep 30 done
En la salida, puede ver el aumento de carga promedio y luego comenzar a disminuir a medida que terminan los bucles.
11:25:34 up 5 days, 17:27, 2 users, load average: 0.15, 0.14, 0.08 11:26:04 up 5 days, 17:27, 2 users, load average: 0.09, 0.12, 0.08 11:26:34 up 5 days, 17:28, 2 users, load average: 1.42, 0.43, 0.18 11:27:04 up 5 days, 17:28, 2 users, load average: 2.50, 0.79, 0.31 11:27:34 up 5 days, 17:29, 2 users, load average: 3.09, 1.10, 0.43 11:28:04 up 5 days, 17:29, 2 users, load average: 3.45, 1.38, 0.54 11:28:34 up 5 days, 17:30, 2 users, load average: 3.67, 1.63, 0.66 11:29:04 up 5 days, 17:30, 2 users, load average: 3.80, 1.86, 0.76 11:29:34 up 5 days, 17:31, 2 users, load average: 3.88, 2.06, 0.87 11:30:04 up 5 days, 17:31, 2 users, load average: 3.93, 2.25, 0.97 11:30:34 up 5 days, 17:32, 2 users, load average: 3.64, 2.35, 1.04
Como la carga promedio es de 1, 5 y 15 minutos, los valores tardarán un tiempo en volver a la normalidad del sistema.
Para detener el ciclo, ejecute el comando kill como se muestra a continuación; suponga que el número de sesiones es de 1 a 4 como se indicó anteriormente. Si no está seguro, utilice el comando de trabajos para verificar el ID de sesión.
$ kill %1 %2 %3 %4
Herramienta dedicada para agregar presión al sistema
Otra forma de crear presión del sistema relacionada es utilizar una herramienta diseñada para agregar presión al sistema por usted. Uno de ellos se llama “estrés” y puede aumentar la presión del sistema de varias formas. La herramienta de adición de presión es un generador de volumen de sesión que proporciona pruebas de presión de E / S de CPU, memoria y disco.
Con la opción –cpu, el comando stress usa la función de raíz cuadrada para forzar a la CPU a trabajar más. Cuanto mayor sea el número de CPU especificado, más rápido aumentará la carga.
El comando watch-it-2 se puede utilizar para evaluar la eficiencia del uso de la memoria del sistema. Tenga en cuenta que utiliza el gratis comando para ver la retroalimentación de presión.
$ cat watch-it-2 #!/bin/bash while true do free sleep 30 done
Comience a monitorear la presión del sistema:
$ stress --cpu 2
$ ./watch-it 13:09:14 up 5 days, 19:10, 2 users, load average: 0.00, 0.00, 0.00 13:09:44 up 5 days, 19:11, 2 users, load average: 0.68, 0.16, 0.05 13:10:14 up 5 days, 19:11, 2 users, load average: 1.20, 0.34, 0.12 13:10:44 up 5 days, 19:12, 2 users, load average: 1.52, 0.50, 0.18 13:11:14 up 5 days, 19:12, 2 users, load average: 1.71, 0.64, 0.24 13:11:44 up 5 days, 19:13, 2 users, load average: 1.83, 0.77, 0.30
Cuantas más CPU especifique en la línea de comandos, más rápida será la carga.
$ stress --cpu 4 $ ./watch-it 13:47:49 up 5 days, 19:49, 2 users, load average: 0.00, 0.00, 0.00 13:48:19 up 5 days, 19:49, 2 users, load average: 1.58, 0.38, 0.13 13:48:49 up 5 days, 19:50, 2 users, load average: 2.61, 0.75, 0.26 13:49:19 up 5 days, 19:50, 2 users, load average: 3.16, 1.06, 0.38 13:49:49 up 5 days, 19:51, 2 users, load average: 3.49, 1.34, 0.50 13:50:19 up 5 days, 19:51, 2 users, load average: 3.69, 1.60, 0.61
El comando de estrés también puede ejercer presión sobre el sistema agregando E / S y cargando memoria con las opciones –io (entrada / salida) y –vm (memoria).
Por ejemplo, este comando agrega la presión de memoria que se ejecutará y luego usa watch-it-2 para comenzar:
$ stress --vm 2
$ watch-it-2 total used free shared buff/cache available Mem: 6087064 662160 2519164 8868 2905740 5117548 Swap: 2097148 0 2097148 total used free shared buff/cache available Mem: 6087064 803464 2377832 8864 2905768 4976248 Swap: 2097148 0 2097148 total used free shared buff/cache available Mem: 6087064 968512 2212772 8864 2905780 4811200 Swap: 2097148 0 2097148
Alternativamente, puede usar la opción –io para agregar operaciones de entrada / salida al sistema. En este caso, use el comando:
$ stress --io 4
A continuación, puede observar el nivel de presión IO con yodo. Tenga en cuenta que iotop requiere acceso de root.
antes de
$ sudo iotop -o Total DISK READ: 0.00 B/s | Total DISK WRITE: 19.36 K/s Current DISK READ: 0.00 B/s | Current DISK WRITE: 27.10 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 269308 be/4 root 0.00 B/s 0.00 B/s 0.00 % 1.24 % [kworker~fficient] 283 be/3 root 0.00 B/s 19.36 K/s 0.00 % 0.26 % [jbd2/sda1-8]
después de
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s Current DISK READ: 0.00 B/s | Current DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 270983 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 51.45 % stress --io 4 270984 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 51.36 % stress --io 4 270985 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 50.95 % stress --io 4 270982 be/4 shs 0.00 B/s 0.00 B/s 0.00 % 50.80 % stress --io 4 269308 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.09 % [kworker~fficient]
resumen
Las herramientas de prueba de presión del sistema le ayudarán a saber cómo reaccionará el sistema operativo en situaciones de la vida real.