Tratando de comprender los niveles operativos correctos de mi servidor

Tratando de comprender los niveles operativos correctos de mi servidor

Estoy tratando de establecer en qué umbrales debería funcionar mi servidor dedicado. El servidor es una CPU Intel(R) Xeon(R) L5420 a 2,50 GHz con 16 GB de RAM que ejecuta RedHat con Apache 2 y MySQL. Tiene 16 dominios y un par de esos dominios reciben más de 3000 visitantes únicos por día. Si ejecuto un comando "superior" veo lo siguiente:

top - 10:18:10 up 428 days, 18:20,  1 user,  load average: 1.71, 1.44, 1.49
Tasks: 211 total,   3 running, 206 sleeping,   0 stopped,   2 zombie
Cpu(s): 23.5%us,  3.8%sy,  0.0%ni, 72.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16431252k total, 16119648k used,   311604k free,   613340k buffers
Swap:  2096472k total,   108096k used,  1988376k free,  9511536k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 7440 apache    16   0  434m 111m 7096 S 59.8  0.7   2:56.17 httpd
 8856 apache    17   0  438m 115m 7084 S 54.5  0.7   2:07.94 httpd
10441 apache    17   0  432m 107m 5696 R 35.9  0.7   0:08.18 httpd
 5035 apache    16   0  444m 118m 7708 S 14.0  0.7   5:24.62 httpd
26931 mysql     15   0 2900m 2.6g 5480 S  1.7 16.3  43:56.03 mysqld
10486 root      15   0 12864 1184  828 R  0.7  0.0   0:00.03 top
  742 root      10  -5     0    0    0 S  0.3  0.0 205:45.65 kjournald
 9141 root      15   0  203m 136m 4988 S  0.3  0.9   2:39.58 savscand
 9150 root      15   0  193m 136m 4924 S  0.3  0.9   2:40.54 savscand
    1 root      15   0 10372  556  524 S  0.0  0.0   0:15.75 init
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:02.52 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.33 ksoftirqd/0
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:01.99 migration/1
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/1
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:01.87 migration/2
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.10 ksoftirqd/2
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:01.91 migration/3
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/3
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:12.35 migration/4
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.49 ksoftirqd/4
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:14.29 migration/5
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.42 ksoftirqd/5
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:13.40 migration/6

Mi pregunta es, ¿parecen normales estas cifras? ¿Son demasiado altos? ¿Demasiado baja? ¿Cómo es que el uso de la CPU supera el 100%?

Muchas gracias.

Respuesta1

Mi pregunta es, ¿parecen normales estas cifras? ¿Son demasiado altos? ¿Demasiado baja?

No existe una "normalidad". Las estadísticas de CPU, memoria, carga e io dan una buena indicación de cómo está el rendimientoconstreñidopero no dan una imagen precisa del rendimiento de su servidor. Si desea saber cuál es el rendimiento de sus transacciones, entonces necesita medir la velocidad de sus transacciones. Si no tiene un proxy inverso y está entregando contenido a través de Internet, el tiempo necesario para atender cada solicituddeberíaestar dominado por el tiempo de la red. Una forma de resolver esto es medir el tiempo transcurrido hasta el primer byte de la solicitud (pero obviamente esto puede ser bastante engañoso si la codificación está fragmentada). Otra solución es utilizar una herramienta como Yahoo Boomerang que mide el rendimiento de la página en lugar de solicitar el rendimiento (y por lo tanto está mucho mejor alineada con la experiencia del usuario) pero que también captura información sobre el rendimiento de la red.

(Pero estoy de acuerdo con Andrei en que mantener la carga por debajo del número de CPU es una buena idea)

¿Cómo es que el uso de la CPU supera el 100%?

Porque tienes varias CPU.

Respuesta2

Se pierde el importante parámetro LA (promedio de carga): (primera línea de la parte superior). La regla general es: mantener los números de LA por debajo del número de núcleos de CPU, aunque hay muchos más parámetros vitales.

información relacionada