Apache MaxClients Saturé
Résoudre la saturation des connexions Apache.
Quand Apache atteint MaxClients (ou MaxRequestWorkers en MPM event), les nouvelles connexions sont mises en attente puis timeout. Votre site devient inaccessible alors que le serveur ne semble pas surchargé.
Symptômes
- Connexions qui timeout sans erreur serveur
- Messages "MaxRequestWorkers" dans les logs
- Serveur qui répond lentement puis plus du tout
- CPU et RAM corrects mais site inaccessible
Causes Fréquentes
- MaxClients trop bas : La configuration par défaut est souvent insuffisante.
- Requêtes lentes : Des scripts lents monopolisent les workers.
- KeepAlive trop long : Les connexions restent ouvertes trop longtemps.
Étapes de Diagnostic
- Vérifiez les logs Apache pour "MaxRequestWorkers"
- Examinez le nombre de processus Apache (ps aux | grep apache)
- Vérifiez la configuration MPM actuelle
- Analysez les requêtes lentes (mod_status)
Automatiser avec MoniTao
MoniTao détecte la saturation :
- Alertes sur les timeouts de connexion
- Surveillance des temps de réponse
- Historique pour identifier les pics
Bonnes Pratiques
- Calculez MaxRequestWorkers selon votre RAM disponible
- Utilisez MPM event plutôt que prefork si possible
- Réduisez KeepAliveTimeout à 2-5 secondes
- Mettez un reverse proxy (Nginx) devant Apache
Questions Fréquentes
Comment calculer MaxRequestWorkers ?
(RAM disponible - OS - BDD) / mémoire par worker. Typiquement 150-300.
Quelle différence entre prefork et event ?
Event gère mieux les connexions KeepAlive avec moins de ressources.
Dois-je désactiver KeepAlive ?
Non, réduisez juste le timeout. KeepAlive améliore les performances.
MoniTao détecte-t-il ce problème ?
Oui, via les timeouts de connexion et les temps de réponse dégradés.
Liens utiles
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.