Outil de test de performances PHP xhprof analyse de cas pratique

php中世界最好的语言
Libérer: 2023-03-25 21:40:01
original
2706 Les gens l'ont consulté

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
Copier après la connexion

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
...
Copier après la connexion

Installer graphviz

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

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);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!