Apache MaxClients

Carlos Manuel Duclos Vergara carlos en embedded.cl
Vie Ene 14 22:33:45 CLST 2005


El Viernes, 14 de Enero de 2005 10:40, oscar reyes escribió:
> Hola lista
>

Hola

> Hola que consideraciones debería tener para configurar Apache, de modo
> que pueda subir el número de usuarios simultáneos a digamos unos 600,
> basta con dejar MaxClients 600 o sería necesario alguna otra
> consideración.
>

sin ser especialista en el tema, creo que lo estas tomando muy a la ligera. Si 
vas a tener unos 600 clientes simultaneos es probable que necesites bastante 
mas que un tweak en el archivo de configuracion de apache. Te recomendaria 
que te preocuparas primero por tener un buen sistema de respaldo energetico, 
un par de enlaces por dos isp distintos y luesgo al menos un par de maquinas 
atendiendo las peticiones que llegan

> Por recursos (HW,  BW... ) no tengo problema.
>

solo como ejercicio matematico:
- supongamos que cada cliente hace solo un GET / de peticion:
strlen("GET /") = 5 Bytes
supongamos que tienes 600 clientes simultaneos en un determinado instante 
temporal, eso consume en ancho de banda:
600 * 5 Bytes = 3000 Bytes
- Ademas hay que considerar la respuesta del servidor, la que puede pesar mas 
de 5 Bytes c/u
- por cada proceso que atiende peticiones apache consume X KB de memoria, lo 
que nos da:
600 * X KB Bytes
- Ademas tienes que tener el archivo que estas sirviendo (o los archivos) 
cargados en memoria, asi que sumale el peso de estos
- Si partes con muy pocos procesos, por cada proceso nuevo que se cree para 
atender peticiones tienes que esperar un segundo, asi que puedes tener un 
enorme retraso en la atencion de los clientes o bien un DoS

en fin, creo que eso te puede orientar un poco para tomar una decision. La vez 
que me toco implementar un servidor similar para atender un promedio de 800 
clientes en un periodo de 4 horas utilice no solo una configuracion especial 
de  apache sino una gran maquina con harta ram (4GB en el anno 2001!) y un 
ancho de banda no despreciable (era solo red interna asi que el ancho de 
banda era de 10MB).
Eso tomando en cuenta que la gran cantidad de las consultas se hacian entre 
las 2000 y las 2100 (datos obtenidos gracias a webstats), por lo que podria 
argumentar que en ese periodo se atendian unas 600 consultas. Ahora el 
problema mio es que las consultas no eran "livianas" sino que habian gran 
trafico de documentos (el servidor era para la atencion de alumnos que 
bajaban guias de ejercicios y apuntes), el resto del dia la maquina pasaba 
casi ociosa... (si hubiera sido mas facil si todos hubieran sido ordenados y 
se hubieran puesto de acuerdo, pero....). Como dato, los documentos pesaban 
entre 100 KB y 1 MB, ademas habia un sistema de registro basico.
La version 2 de ese sistema requirio mas maquinas, ya que ademas se manejaba 
un pequenno sistema de evaluacion online, por lo que la bd se separo del 
servidor web que siguio siendo la misma maquina.
La version 3 de ese sistema ya quedo fuera de mis asuntos, asi que no te 
podria decir en que va, pero creo que ya van en la version 4 o 5 del mismo (y 
el servidor ya no solo atiende consultas locales sino remotas).
Por supuesto teniamos ups de todos los colores y tamannos, y gracias a que la 
universidad tiene un generador interno solo teniamos que aguantar 5 minutos 
con las ups.

Espero que algo te ayude

Xhau

-- 
Carlos Manuel Duclos Vergara
carlos en embedded.cl
http://www.elbazaar.cl/



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