web-dev-qa-db-fra.com

Analyser une charge élevée due à Joomla?

J'ai un site Joomla provoquant une charge très élevée (php) sur le serveur. J'ai déjà exécuté la fonctionnalité de journal lent de MySQL et cela ne semble pas être MySQL.

Quels sont les moyens d’analyser un site Joomla pour déterminer les causes de la charge php élevée?

Exemple de processus les plus élevés de la journée:

testing1    testing1.com    27.32   0.53    0.3
Top Process %CPU 179    /usr/bin/php /home/testing1/public_html/index.php
Top Process %CPU 138    /usr/bin/php /home/testing1/public_html/index.php
Top Process %CPU 137    /usr/bin/php /home/testing1/public_html/index.php

Utilisation de la dernière version 1.5 de Joomla sur un serveur CentOS exécutant Apache/MySQL. J'ai un accès complet/root à ce serveur, je peux donc installer les outils nécessaires.

Je sais que l'idée générale est qu'un certain nombre de composants tiers sont probablement à l'origine de ce problème, mais comment puis-je déterminer lesquels (sans les supprimer/désactiver)?

2
Zeno

Il sera toujours difficile de diagnostiquer le problème sans désactiver les composants suspects (diagnostiquer des problèmes de performances revient à diagnostiquer tout autre type de problème; il s’agit d’un processus d’élimination qui nécessite d’isoler/de contrôler différentes variables pour tester différentes hypothèses ), mais les outils utiles à avoir sont:

  • Outils de surveillance/visualisation: par exemple dstat + gnuplot , analyseurs de journaux, etc.
  • Outils de test de contrainte/charge: par exemple httperf, Autobench, ApacheBench (ab), OpenWebLoad, etc.
  • Outils de profilage de code: par exemple Dbg, Xdebug, CodeAnalyst, Dtrace, pmp ou tout autre outil de profilage fourni avec les installations de débogage de votre infrastructure d'application.
  • Autre: Aspera est en gros un outil de diagnostic des performances MySQL utilisé par Percona, mais bon nombre de ces outils ont une utilité plus générale, tels que les outils de profilage d'E/S, de traces de pile, de déclenchement d'un script ou d'un événement. Lorsque certaines conditions sont remplies, pour analyser les données collectées, etc., cela fournit beaucoup de "colle" pour un flux de travail de diagnostic efficace.
3
Lèse majesté