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!