Detectar la Causa de "High load", Sobrecarga de un Servidor Dedicado o VPS - Adclic Hosting

Si usted esta experimentando problemas de lentitud en un nodo VPS o Servidor Dedicado y ya detecto que el problema es un alto uso de CPU o Memoria una de los primeros pasos a seguir es ejecutar el comando "top" en la linea de comandos. Puede encontrar una respuesta tipica como la siguiente:

top - 23:12:41 up 108 days,  5:14,  2 users,  load average: 0.49, 1.39, 4.34
Tasks: 298 total,   1 running, 297 sleeping,   0 stopped,   0 zombie
Cpu(s):  7.5%us,  1.5%sy,  0.0%ni, 89.3%id,  1.6%wa,  0.1%hi,  0.1%si,  0.0%st
Mem:   8087364k total,  6626384k used,  1460980k free,   116044k buffers
Swap: 10136972k total,    96572k used, 10040400k free,  3866028k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
5028 mysql     15   0  275m  42m 4968 S  5.3  0.5   0:41.76 mysqld
1750 named     21   0  249m  13m 1644 S  0.0  0.2   0:07.35 named
30394 userx  16   0  195m  36m 7700 S  0.0  0.5   0:00.59 php
7628 userx2  16   0  195m  35m 6924 S  0.0  0.4   0:00.16 php
30735 userx3  16   0  194m  35m 7732 S  0.0  0.5   0:01.11 php
620 userx4  16   0  193m  34m 7088 S  0.0  0.4   0:00.49 php

 

En este caso podemos observar el porcentaje de uso de CPU y Memoria disponible actualizado cada segundo. Podemos matar alguno de los procesos con su PID especifico. Por ejemplo:

kill 7628

O terminar todos los procesos de un mismo usuario para diagnosticar si eso ayuda en el problema.

killall -u userx

 

Si un usuario especifico esta causando la carga puede suspenderlo desde su panel respectivo y verificar si el problema persiste. Si el problema se debe a algun servicio en especifico como MYSQL o APACHE, debe hacer una optimización de la configuración de los servicios respectivos.

Si la causa no esta clara podemos hacer una ejecucion de "vmstat -1". Una respuesta típica es la siguiente:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0    180 160052 537364 5164784    0    0     0   288 1400  978 11  1 88  0  0
2  0    180 160184 537368 5164780    0    0    12   176 1353 1043 14  2 84  0  0
0  0    180 160100 537384 5164764    0    0    64   888 1401 1122 16  5 78  1  0

 

Importante verificar las columnas "wa" que representan el tiempo de "Cpu en tiempo de Espera" o "Cpu Wait Time" y la columna "Id", "Cpu Idle"

Si la columna "wa" es muy alta, valores mayores de 0, 25 se considera muy alta lo mas probable es que la carga sea a causa de sobrecarga de uso de disco, "High IO" o sobrecarga en la lectura / escritura de disco.

 

Puede verificar si este el caso con el comando "iostat" o "iostat -x 5" para que se ejecute cada 5 segundos. Esta es una respuesta típica del comando iostat:

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    13.20  0.00  6.80     0.00   160.00    23.53     0.02    2.50   0.26   0.18
sda1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00     9.60  0.00  2.80     0.00    99.20    35.43     0.01    2.00   0.29   0.08
sda3              0.00     3.60  0.00  4.00     0.00    60.80    15.20     0.01    2.85   0.25   0.10
sda4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda5              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb              13.80    37.60  5.00  5.80   252.80   347.20    55.56     0.03    3.11   1.80   1.94
sdb1              0.00     1.40  0.00  0.80     0.00    17.60    22.00     0.00    0.25   0.25   0.02
sdb2              0.00     6.40  0.00  0.80     0.00    57.60    72.00     0.00    1.00   1.00   0.08
sdb3             13.80    29.80  5.00  4.20   252.80   272.00    57.04     0.03    3.54   2.00   1.84

Un valor alto en la columna de %util quiere decir que en ese disco duro en especifico hay una alta concentración de carga.

Esta es una causa mas compleja de sobrecarga de un servidor y podria evaluarse con el comando "iotop". Aunque no viene por defecto, puede instalarlo facilmente con yum "yum install iotop"

Esta es una respuesta tipica de este comando:

Total DISK READ: 42.72 K/s | Total DISK WRITE: 151.45 K/s
TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
8 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.49 % [migration/2]
11 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.39 % [migration/3]
14 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.39 % [events/0]
9897 be/4 nobody      0.00 B/s    0.00 B/s  0.00 %  0.19 % httpd -k start -DSSL
1632 be/3 root        0.00 B/s   15.53 K/s  0.00 %  0.19 % [kjournald]
552 be/3 root        0.00 B/s  116.50 K/s  0.00 %  0.16 % [kjournald]
9896 be/4 nobody      0.00 B/s    0.00 B/s  0.00 %  0.10 % httpd -k start -DSSL
10097 be/4 furiamag    0.00 B/s    0.00 B/s  0.00 %  0.10 % php
10118 be/4 furiamag    0.00 B/s    0.00 B/s  0.00 %  0.10 % php
9900 be/4 nobody     42.72 K/s    3.88 K/s  0.00 %  0.04 % nginx: worker process
6360 be/4 mailnull    0.00 B/s    0.00 B/s  4.59 %  0.00 % exim -bd -q60m

Por supuesto en este caso el proceso en la columna Io que genere mayor porcentaje de uso será el culpable del problema.

  • 1 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Como Prevenir SPAM en Cpanel

 A veces los administradores se encuentran que no pueden enviar correo a dominios como Gmail o...

Instalacion de RED5 en VPS - CentOS - RedHat - Adclic Hosting

Red5 es una aplicacion Open Source programada en Java6 que le permite hacer broadcasting, video...

Problemas Base de Datos - Roundcube - Horde

En determinados casos puede que la base de datos de Horde o Rouncube genere problemas con los...

Instalar y ejecutar RKHunter (Centos)

Rkhunter (Rootkit Hunter) es una herramienta basada en Unix que escanea el sistema en busca de...

Cambiar los valores del php.ini en Cloudlinux y Cpanel

Normalmente CloudLinux y Cpanel viene con unos valores predeterminado para cada cuenta de hosting...