Mi entorno
- CentOS 6.4 X86_64
- Apache 2.4.4
- PHP 5.4.16 (FPM)
- 2 Intel Xeon E5-2620 @ 2.00GHz (8 núcleos, 16 hilos en cada procesador)
- 48 GB de memoria RAM registrada.
- 3 Disco duro 15RPM 145GB en RAID0 (por BIO
Variables interesantes
<IfModule mpm_event_module>
StartServers 2
ThreadLimit 196
MinSpareThreads 96
MaxSpareThreads 192
ThreadsPerChild 96
MaxRequestWorkers 192
MaxConnectionsPerChild 96
</IfModule>
Estado del servidor Apache
Versión del servidor: Apache / 2.2.4 (Unix) OpenSSL / 1.0.1e mod_fastcgi / mod-fastcgi-SNAP-0910052141
Servidor construido: 24 de mayo de 2013 16:48:07
Hora actual: lunes 17 de junio de 2013 09:48:11 COT
Hora de reinicio: lunes 17 de junio de 2013 08:35:14
Configuración del servidor principal COT . Generación: 1
Servidor primario MPM Generación: 0
Tiempo de actividad del servidor: 1 hora 12 minutos 57 segundos
Carga del servidor: 0.05 0.10 0.09
Accesos totales: 14144 - Tráfico total: 349.7 MB
Uso de CPU: u.28 s.25 cu0 cs0 - .0121% CPU carga
3.23 solicitudes / seg. - 81.8 kB / segundo - 25.3 kB / solicitud
1 solicitudes actualmente en proceso, 191 trabajadores inactivosPID | Connections | Threads | Async connections | total | accepting | busy | idle | keep-alive | closing ============================================================== 18997 | 3 | yes | 1 | 95 | 0 | 3 18485 | 0 | yes | 0 | 96 | 0 | 0 ============================================================== Sum | 3 | | 1 | 191 | 0 | 3
Registro de errores
El mensaje de error es
[Lun Jun 17 09: 32: 45.680842 2013] [mpm_event: error] [pid 8574: tid 140185091581760] AH00485: el marcador está lleno, no en MaxRequestWorkers
Esto aparece cada pocos segundos. No lo entiendo ¿Cómo puedo arreglarlo?
fuente
MaxConnectionsPerChild
configuración es demasiado baja para su uso en producción. Además, establecerlo en algo que no sea 0 solo debe realizarse en Windows porque pierde memoria internamente.MaxRequestWorkers of 40 is not an integer multiple of ThreadsPerChild of 25, decreasing to nearest multiple 25
error.log.1
.error.log
solo menciona la recarga.Al ver el mismo problema.
Particularmente podemos causar este comportamiento recargando apache.
Lo que luego vemos son un par de procesos antiguos que no se detienen:
Observe los PID 'más antiguos' y 'más nuevos' y las horas de inicio. ^^
fuente
Comenzamos a ver esto cuando una de nuestras bases de datos de réplica se desconectó y comenzó a agotar el tiempo de espera. Esto ató un millón de hilos en Apache, aparentemente hasta que las cosas se rompieron y comenzamos a recibir este mensaje.
Probablemente no sea el caso normal, pero presento esto al canon con la esperanza de que pueda ayudar a otros que vean este error.
fuente