problema con servidor con mucho trafico.

Felipe Román Márquez fromanm en gmail.com
Mar Sep 30 00:45:24 CLT 2008


    Hola a todos, les escribo por que estoy a punto de decir que está  
máquina está poseída.

en detalle:

centos 5.2
4gb ram ecc FB-DIMM
2 quad-core (8 nucleos en total a 2.0ghz)
arreglo de discos decente.

#hdparm -tT /dev/sda1
Timing cached reads:   10836 MB in  2.00 seconds = 5424.65 MB/sec
  Timing buffered disk reads:  100 MB in  0.20 seconds = 511.77 MB/sec

Es un buen bicho.

Esta máquina se usa para una página web y un foro. (mysql + lighttpd +  
php5 a grandes rasgos)

la cantidad de carga es mas menos alta. tiene en promedio 3500  
usuarios conectados durante todo el día y un total de 85.000 visitas  
únicas diarias.

el servidor anda bien en consumo de ram:

free -m
              total       used       free     shared    buffers      
cached
Mem:          4048       3546        501          0        197        
2422
-/+ buffers/cache:        925       3122
Swap:         9834         71       9763


la carga promedio no es nada grave:

  load average: 1.50, 1.57, 1.62   (en promedio la carga es de 2.0,  
con peaks de 3.0 y bajas de 0.5)

los discos tienen una buena controladora, el i/o anda bien.



se le hizo un tuning a mysql y anda muy bien, no tiene errores,  
responde rápido, etc etc.

casi lo mismo con lighttpd.


antes de todos estos cambios el servidor mostraba a cada rato en la  
web "servidor ocupado"
ahora funciona casi perfectamente.

corregí todo lo que aparecía en los logs de errores de mysql, de  
lighttd del messages, etc etc (ha sido harta pega), el servidor estaba  
casi abandonado e instalado con las configs por defecto.


sorry si estoy dando la lata, pero creo que es necesario explicar el  
contexto.

ahora el real "problema"  es a la hora de mayor carga. aprox 8pm.

tengo abierta una consola para ver htop, otra con tail -f al messages,  
otro tail -f al lighttpd/error_log  y  tail -f al log de errores de  
mysql.

mirando el htop, con los 8 nucleos con carga (Load Average de 2 a 3 ),  
sin previo aviso y sin logs de errores ni warnings, todos los nucleos  
se van a CERO carga, y el sitio no funciona.
no hay logs, no hay avisos, no hay nada, pasa aprox 1 minuto y sube la  
carga de nuevo y el server sigue trabajando como si nada....

le subí las conexiones.
le subí el max de archivos abiertos.
le cambié el nice a mysql y al lighttpd.
le cambie el limits.conf
y esto sigue pasando.

alguien tiene alguna idea??? (de verdad que todo me sirve)
no tengo logs ni mensajes ni nada, ando dando palos de ciego.


cualquier tip o ayuda será muy bienvenido, de antemano muchas gracias.


Más información sobre la lista de distribución Linux