La semaine dernière, j'ai soudainement reçu des erreurs sur mon serveur. J'essaie d'accéder à mon site web et je reçois des erreurs 503.
Quand je vérifie top
et d'autres choses, je les vois :
- 60-65 Processus httpd (apache). (Normalement j'ai 30-35 processus httpd)
Vous pouvez voir le graphique ici : processus httpd - MySQL fait ~350 Mo de swap. (Normalement, il fait 40-50 Mo de swap).
C'est ce que dit l'abécédaire du tuning :- Courant max_connexions = 250
- Nombre actuel de threads_connectés = 96
- Historique max_utilisé_connexions = 97
- Servez tous les graphiques : données générales
- À l'intérieur de
httpd.conf
- ServerLimit 60
- MaxClients 60
- Sur
var\www\vhosts\example.com\logs\access_log
il n'y a rien qui ressemble à une attaque (D)DOS. Je vois une requête normale du serveur. - Rien de suspect dans
var\log\httpd\access_log
- Dans mon
var\www\vhosts\example.com\logs\error_log
Je vois trop d'erreurs comme celle-ci :[Fri Jan 17 10:56:26 2014] [warn] [client 78.180.71.157] mod_fcgid: can't apply process slot for /var/www/cgi-bin/cgi_wrapper/cgi_wrapper
- À l'intérieur de
\var\log\mysqld_log
aucune erreur - À l'intérieur de
\var\log\error_log
aucune erreur dans ce temps - À l'intérieur de
\var\log\suexec_log
aucune erreur
Comment puis-je diagnostiquer ce qui fait que mon site web a un DISK IO de 100%, une charge moyenne de 10, un swapping très élevé, et que le serveur ne répond pas aux requêtes. Et comment puis-je empêcher que cela se produise à l'avenir ?
Lorsque je redémarre mysql et httpd le problème se résout. Mais comment puis-je diagnostiquer la cause