22/08/2011, 16:41
|
| | 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! |