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

  1. Vérifiez les logs Apache pour "MaxRequestWorkers"
  2. Examinez le nombre de processus Apache (ps aux | grep apache)
  3. Vérifiez la configuration MPM actuelle
  4. 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.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.