Sé que se han hecho muchas preguntas sobre este tema, pero no encontré una respuesta que me ayude.
Estoy intentando que Apache httpd responda 200 conexiones simultáneas. Estoy probando con jMeter, obteniendo un pequeño archivo de texto estático (aproximadamente 100 bytes), usando prefork; MaxClient y ServerLimit en 500, ni la memoria ni la CPU son limitantes (ambas están por debajo del 50%), el ancho de banda es de 1 Gbps.
- si inicio solo una conexión, el tiempo de respuesta es de aproximadamente 7 ms
- si inicio algunas conexiones simultáneas (digamos 2 o 3), el tiempo de respuesta llega a 70 ms
- si empiezo un poco más (digamos 20), el tiempo de respuesta es superior a 2sincluso para la primera conexión
Usar keep-alive no cambia mucho. Reiniciar httpd tampoco ayuda.
¿Estoy haciendo algo mal? ¿Cómo puedo arreglar eso?
gracias de antemano
greg
Respuesta1
Para resolver el problema tuve que aumentar permanentemente la cantidad de procesos en ejecución. En lugar de:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
Cambié a:
StartServers 300
MinSpareServers 300
MaxSpareServers 300
Ahora los tiempos de respuesta son aceptables. Parece que crear/matar procesos es muy pesado incluso para computadoras rápidas...