Apache MaxClients

Juan Carlos Muñoz jcmunoz en dcc.uchile.cl
Lun Ene 17 15:35:46 CLST 2005


La pregunta del millon es si vas a tener algun sistema de SSS (Server 
Side Script) corriendo con el apache, o si vas a tener CGI, o 
mod_include, dado que el apache en realidad casi no tiene consumo ya que 
salvo la generacion de LOGs y algunos parseos no es mucho mas lo que 
hace, no es por desmerecer, de hecho me parece exelente que no haga 
TANTO mas (aunque siempre hay alguien que se las arregla para que su 
apache hasta le caliente el cafe) , pero eso hace que el consumo de 
recursos sea escaso, por lo que *maquina* no es tanta la necesaria, y si 
vas a tener tu DocRoot en RAM disk menos, pero ojo, si no es asi 
entonces necesitas buen IO para hacer trabajar tu maquinita, yo en FUAS 
(Fondo unico de acreditacion socioeconomica) tenia para la capa de 
presentacion 2 P IV con 1 GB RAM y 2 XS335 con Xeon de 2.8 y 1 GB de RAM 
y cada una podia contestar tranquilamente 500 conexiones concurrentes, y 
eso que estaban en plataforma M$... lo que si es importante es el tema 
del crecimiento, ya que para tener un crecimiento mantenido Apache usa 
un esqueba de crecimiento binario por segundo, es decir tipo bacterial, 
duplica la cantidad, segun las necesidades cada un segundo, es decir 
parte con 1, 2, 4, 8... etc + los que ya tenia claro está... pero por 
las pruebas que he hecho tiene una buena cola de listen... asi que yo 
que tu me preocuparia de ver la condicion estandar, y la maxima y ver el 
tiempo de llegada de una etapa a otra y de ahi ver la configuracion y 
capacidades de crecimiento, preocupate del IO y del espacion en memoria, 
que es distinto si tienes un apache 1.3 o un apache 2, ya que el 1.3 
trabaja con fork y el 2 con fork e hilos.

Atte. JCMI

oscar reyes escribió:

>On Fri, 14 Jan 2005 22:33:45 -0300, Carlos Manuel Duclos Vergara
><carlos en embedded.cl> wrote:
>  
>
>>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
>>    
>>
>
>si puede ser... "lo mencione a la ligera" 
>
>  
>
>>>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).
>
>Como contaba en HW y otros no hay problema.... tengo dos buenos
>servidores con procesadores dual, fuentes redundantes, discos espejo,
>etc... aunque la RAM voy a estimar cuanta seria realmente necesaria.
>
>En BW mis cálculos me daban app 10 MB, pero dado que el sistema ira en
>crecimiento voy a empezar con  5MB...
>
>  
>
>>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.
>>    
>>
>
>Este sistema es algo parecido... también existen alumnos que deben
>descargar guías, evaluación online. Cualquier otra consideración sería
>bienvenida..
>
>
>  
>
>>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
>
>Muchas gracias por tu respuesta, me aclaras bastantes cosas 
>... Cristian grax tmb
>
>Alguien mas tiene experiencia en sistemas parecidos???
>
>Saludos, 
>
>Oscar.
>
>  
>



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