Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/08/2011, 16:41
filmixt
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Configuración performance de Apache

Ya he conseguido hacer una buena configuración -creo, tendré que esperar a picos gordos-
Resulta que según la documentación de apache, el MPM Worker usa las variables Threads, esto es, los hilos que manejan los procesos (eso entendí).

El caso es que teniendo en cuenta las conexiones concurrentes (Keep alive), el alto número de peticiones por páginas (muchas imágenes), el bajo uso de CPU (0%) y RAM (10%), y un máximo de 200 online (reales), he configurado apache del siguiente modo:

Timeout 300
StartServers 5
MinSpareServers 5
MaxSpareServers 12
ServerLimit 1000
MaxClients 1000
MaxRequestsPerChild 0
KeepAlive On
KeepAliveTimeout 10
MaxKeepAliveRequests 100
MinSpareThreads 300
MaxSpareThreads 400
ThreadsPerChild 100

El minsparethreads según he ojeado o percibido viendo el status de apache sirve para establecer hilos en espera a nuevas solicitudes, por tanto manteniendo 300 threads a la espera de nuevas conexiones considero buen margen, y threadsperchild para no saturar a los childs y mantenerlos demasiado tiempo vivos los mantengo a 100, esto es, unas dos peticiones de páginas web distintas.

Igual mi interpretación o explicación es incorrecta, pero es lo que he podido interpretar según mi experiencia. Lo ideal sería una explicación al estilo: "Entra un usuario, y habiendo X imágenes, se crean con keepalive X peticiones, entonces apache vé si hay a la espera -hilos- por decir algo, y los asigna, de no haberlos crea un nuevo proceso que genera 300 nuevos threads..."

xD ¿Existe algo así? Así veríamos la LOGICA de tanto caos.

MÁS CUANDO ESTA CONFIGURACIÓN RESULTA VITAL EN SERVIDORES DE ALTO TRÁFICO.

¡Saludos!