Quel serait le process que vous déboguez sur un server Web pour les problèmes de performance où vous obtenez un time d'arrêt?

Malheureusement, c'est une question plutôt vague. Mais je fais face de time en time.

À l'heure actuelle, mon server est entièrement géré CentOS 5 – Plesk 9.2.1.

Au cours des derniers jours, le server continue d'étouffer où apache (ou) mysql ou les deux semblent ralentir de manière significative et les pages ne sont pas returnnées ou sont returnnées incroyablement lentement, le redémarrage de mysql aide, parfois le redémarrage d'Apache aide, et d'autres je dois redémarrer tout le server (SSH commence à vraiment travailler lentement).

Donc, ma question est, quel serait le process que vous déboguez sur un server Web pour les problèmes de performance où vous obtenez des time d'arrêt?

Je ne pense pas que le server reçoit trop de trafic (bien qu'il obtienne un trafic cohérent), il semble que quelque chose semble le tuer …

Où est-ce que je commence!

Aidez-moi!

Avez-vous essayé une forme de profil de requête sur MySQL? Si vous exécutez des requêtes très intensives, par exemple SELECT * FROM tbl1 INNER JOIN tbl2 … INNER JOIN tbl3 … LEFT JOIN tbl 4 … comme un exemple vraiment bas mais évident, et vous revenez beaucoup de lignes ou votre requête n'est pas indexé correctement, cela peut ralentir votre système de manière massive – j'ai appris de mes journées inexpérimentées où je n'ai pas optimisé 😉

Des outils tels que mysqlreport et le script tuning-primer.sh sont de bons points de départ pour cela. mysqlreport est à http://hackmysql.com/mysqlreport , et je ne peux que publier 1 lien, donc Google pour "tuning-primer.sh" à la place 🙂

La réponse de Bernhard est bonne, mais je vous suggère de sauter sysstat et aller directement à Munin . Avec la représentation graphique de la charge, il sera beaucoup plus facile de comprendre si vous échangez [trop de process apache?], le disque de désortingtus [des requêtes sql mal optimisées, trop grandes tables temporaires? ], en sortant de l'alimentation de l'ordinateur, etc.

pour que mysql active le journal des requêtes lentes .

Vous devriez commencer par installer le package sysstat. Il créera des statistics sur la charge CPU, memory et E / S toutes les 10 minutes. Lorsque le server commence à ralentir à nouveau, vous pouvez consulter la sortie de l'utilitaire "sar" (partie du package) pour identifier quelle ressource est le goulot d'étranglement réel.