Maison  >  Article  >  développement back-end  >  Outil de test de performances PHP xhprof analyse de cas pratique

Outil de test de performances PHP xhprof analyse de cas pratique

php中世界最好的语言
php中世界最好的语言original
2018-05-16 11:45:552752parcourir

Cette fois, je vais vous apporter une analyse de cas pratique de l'outil de test de performances PHP xhprof Quelles sont les précautions pour l'analyse de cas pratique de l'outil de test de performances PHP xhprof Ce qui suit est un cas pratique. , jetons un coup d'oeil.

Présentation de xhprof :

XHProf est un outil d'analyse des performances PHP en couches. Il rapporte le nombre de requêtes et diverses mesures au niveau de la fonction, notamment le temps de blocage, le temps CPU et l'utilisation de la mémoire. La surcharge d'une fonction peut être décomposée en surcharge de l'appelant et de l'appelé, la phase de collecte de données XHProf, qui enregistre le suivi du nombre d'appels et les arcs métriques inclus dans un callgraph dynamique d'un programme. Son étape unique de reporting/post-traitement du calcul des données. Lors de la collecte de données, XHProfd gère les appels de fonctions récursifs en détectant les boucles et évite les boucles infinies en donnant à chaque appel profond de l'appel récursif un nom utile. Le rapport d'analyse XHProf aide à comprendre la structure du code exécuté, il possède une interface utilisateur HTML simple (écrite en PHP). L'interface utilisateur d'analyse des performances basée sur un navigateur facilite l'affichage ou le partage des résultats avec des pairs. Des graphiques d’appels peuvent également être dessinés.

Installation et utilisation :

J'ai récemment voulu comparer les performances des sites Web, j'ai donc trouvé un travail de test de performances avec lequel m'amuser. Il existe de nombreux outils. , mais par rapport à avant, j'ai toujours l'impression que l'installation et l'utilisation de xhprof sont relativement simples, et l'analyse des données est également correcte. Parlons de son installation et de son utilisation. . .

Compilez et installez xhprof

cd xhprof-0.9.4/xhprof-0.9.4/extension/
phpize
./configure
make
sudo make install

Ajoutez le fichier xhprof.so généré au fichier php.ini, puis redémarrez Apache

...
#这里要使用相对路径加载的话首先要看一下extension_dir配置的路径,或者直接写上`.so`文件的绝对能够路径即可。。。
extension=xhprof.so
...
sudo apachectl restart
##测试扩展是否安装成功,有如下输出则ok
php --ri xhprof
...
 xhprof
 xhprof => 0.9.2
 CPU num => 4
...

Installer graphviz

cd graphviz-2.38.0/
#后面参数是要确保安装了libphp才行哦【没安装的 brew install linpng 就可】
./configure --with-png=yes
make
sudo make install

Je l'ai testé

Dans le dossier xhprof précédemment téléchargé, recherchez les trois dossiers xhprof_html, xhprof_lib et sample. Placez ensuite ces trois dossiers là où vous pouvez y accéder, puis accédez au http://xxxx/ suivant via la connexion sample/sample.php. , lorsque vous visitez le site http://xxxx/xhprof_html/ suivant, vous verrez un enregistrement. Après avoir cliqué dessus, vous pouvez voir la page des résultats de l'analyse et cliquer sur Afficher le graphique d'appel complet pour créer un lien vers la page du rapport graphique.

Comment utiliser

Supposons que vous souhaitiez consulter les données de performances de la page d'accueil d'un site Web que vous avez créé, vous devez alors trouver les performances données de ce site Web Page d'accueil Fichier d'entrée , ajoutez le code de test de performances xhprof avant et après le chargement du fichier principal

#开启,具体参数说明可以查看官方文档
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
#核心文件的执行
...
require 'index.php'
...
#关闭
$xhprof_data = xhprof_disable();
#这里的路径根据自己的站点来配置
$XHPROF_ROOT = realpath(dirname(FILE) .'/');
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof");
#这里打印出本次测试的id,方便到报表列表页面【http://xxxx/xhprof_html/】去通过对应的id找到对应的结果
var_dump($run_id);

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article , veuillez faire attention à des choses plus excitantes. Autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Implémentation PHP de l'algorithme d'élimination aléatoire

Explication détaillée de l'utilisation de la vérification des données du framework Yii2

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Extension PHP multithreadArticle suivant:Extension PHP multithread