lunes, 4 de agosto de 2008

Número máximo de conexiones para Apache2

Antes que nada, hay tener en cuenta que el aumento sin control del número de conexiones de apache puede tumbar la máquina. Eso hay que tenerlo muy claro.

Una vez dicho esto, para aumentar (o disminuir) el número máximo de conexiones que admite el servidor web, lo hacemos modificando el /etc/apache2/apache2.conf.

Buscamos una variable que es
MaxClients
y que por defecto está limitada a 150. Nosotros podemos ponerla como máximo a 256, que son los servers que puede levantar el sistema solo. La idea es comprobar primero de todo que el servidor aguanta estos 256 y que necesita más. Si está utilizando alrededor de 200 servers no hará falta darle más, no seamos avariciosos.

Pero puede ser que estos 256 se queden cortos y que el servidor aguante bien (si no aguanta bien, la idea sería bajar el número de MaxClients, hasta llegar a un punto que aguante bien... si la página tarda en cargar, no serán más que daños colaterales). Si esto pasa, podemos aumentar por encima de los 256, pero utilizando otra directiva, el
ServerLimit
que le pondremos un valor alto, pero no demasiado descabellado, unos 100 threads por encima del MaxClients está bien, para tener un poco de margen.

Para habilitar la directiva ServerLimit, lo tenemos que hacer en la propia configuración del apache, en el httpd.conf o en el apache.conf. Lo haremos en el mismo módulo que estaba MaxClients, pero poniéndola la primera, de esta manera:

ServerLimit 500
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 350
MaxRequestsPerChild 0

Lo mismo que antes, una vez se añada la directiva ServerLimit tendremos que ir con cuidado. Apache reserva una cantidad de memoria que puede ser que no utilice si el valor es muy alto y no se llega ni de lejos, pero también puede pasar que el sistema se vuelva inestable o simplemente que Apache no arranque. Por eso, cuidado al utilizar esta directiva.


Existe un límite inviolable compilado en el servidor que es ServerLimit 20000. Con este límite se intentan evitar las consecuencias que pueden tener los errores tipográficos.

1 comentario:

Anónimo dijo...

Gracias por lqa info