Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2010, 05:08
homeini
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Demasiados 'sleeping proccess' de Apache y carga por las nubes

Buenas.

Estoy teniendo problemas en un servidor Apache. He podido ver como el servidor hay momentos en los que se satura y la carga sube un montón. Haciendo 'top' salen en algunos casos (cuando hay problemas) valores mayores de 30.

Me he dado cuenta de que en esos momentos existen un montón de procesos de Apache y la mayoría están 'sleeping'; entiendo que eso puede ser al menos parte de mi problema.

El servidor aloja una web que corre con PHP (+symfony) y MySQL que tiene alrededor de 600.000 páginas diferentes, y creo que mi mayor problema está cuando algún spider de Yahoo o Google vienen a hacerme una visita.

Por el tema de tráfico, generalmente tenemos 35.000 visitas y 60.000 páginas vista a la semana.

Creo que el servidor que tengo contratado es suficiente para aceptar esta carga, por si queréis ver sus características es este:
https://www.ovh.es/productos/eg_best_of.xml

Lo que pasa es que creo que no tenemos una buena configuración del servidor Apache, aunque si alguien piensa que el problema es otro me lo puede comentar.

Yo os pongo mi configuración por si alguien me puede echar una mano y decirme que estamos haciendo mal:

Código:
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 100

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5

##
## Server-Pool Size Regulation (MPM specific)
## 

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          8
    MinSpareServers       5
    MaxSpareServers      20 
    ServerLimit         200
    MaxClients          200
    MaxRequestsPerChild 2000
</IfModule>
Si alguien puede echarme una mano estaría agradecido.

Un saludo.