Ocasionalmente, en mi registro de errores de Apache, encontraré:
[error] server reached MaxClients setting, consider raising the MaxClients setting
He bajado deliberadamente MaxClients en el pasado (a 60) debido a problemas con la falta de memoria, pero me gustaría saber exactamente qué está sucediendo en el extremo del usuario cuando se alcanza este límite en el servidor. ¿La página a la que acceden tarda más en cargarse? ¿Reciben algún tipo de mensaje de error?
apache-2.2
performance
performance-tuning
plantaciones
fuente
fuente
Respuestas:
Al principio, las solicitudes del cliente se pondrán en cola, hasta que haya un proceso / subproceso que se libere en el servidor apache. Por lo tanto, los clientes verán un retraso en la carga de la página. Consulte la
MaxClients
documentación de parámetros para obtener más información.Cuando se coloca en la cola de pedidos pendientes, la solicitud del cliente puede eventualmente agotar el tiempo del lado del cliente. Luego, el usuario verá una página de error en su navegador que indica que el servidor está tardando demasiado en dar una respuesta. El valor de tiempo de espera predeterminado es de 300 segundos en Firefox , por ejemplo. O el usuario cancelará la solicitud antes del tiempo de espera ...
Luego, si el servidor recibe más solicitudes y no puede obtener un proceso / subproceso libre a tiempo, la
ListenBacklog
cola puede llenarse (el valor predeterminado es 511 solicitudes en cola) y no se atenderá ninguna solicitud posterior. El navegador le dirá al usuario que no puede conectarse al sitio web, como si el sitio web estuviera completamente inactivo.Esta cola de pedidos pendientes se gestiona a nivel del sistema operativo, en la implementación de TCP. En Linux, la
listen
página de manual le dará más información sobre la forma en que se gestiona. Aquí hay otra lectura muy perspicaz sobre la cola de TCP backlog en sistemas Linux y BSD .fuente
listen
página del manual. No estoy seguro de que haya una forma directa de saber qué contiene esta cola. Además, vea esta pregunta SO . He agregado más información a mi respuesta.