Maison  >  Article  >  développement back-end  >  Quels outils de tests de performances PHP utilise-t-il ?

Quels outils de tests de performances PHP utilise-t-il ?

(*-*)浩
(*-*)浩original
2019-09-18 13:10:323858parcourir

Cet article analyse l'installation et l'utilisation de l'outil de test de performances PHP xhprof à travers des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Quels outils de tests de performances PHP utilise-t-il ?

Aperçu xhprof :

XHProf est un outil d'analyse des performances PHP Layer Layer. 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. (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

La surcharge d'une fonction peut être décomposée en surcharge de l'appelant et de l'appelé dans la collecte de données XHProf. phase, il s'agit d'un programme qui enregistre le suivi du nombre d'appels et les arcs métriques inclus dans un callgraph dynamique. Son étape unique de reporting/post-traitement du calcul des données.

Pendant 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 ses pairs. Des graphiques d’appels peuvent également être dessinés.

Installation et utilisation :

J'ai récemment voulu comparer les performances du site Web, j'ai donc trouvé un travail de test de performances avec lequel jouer. Il existe de nombreux outils, mais. par rapport à avant, j'estime 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. . .

Téléchargez xhprof et graphviz

Pour xhprof, vous pouvez le télécharger directement depuis le site officiel de PHP Pour plus de commodité, vous pouvez cliquer ici

Si. vous voulez graphviz, vous devez également le télécharger, affichant principalement le rapport graphique des résultats de performances de xhprof, cliquez ici

Compilez et installez xhprof

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

Ajoutez le généré. xhprof.so dans le 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
...

Installez graphviz

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

Testez-le

Dans le dossier xhprof téléchargé auparavant, recherchez les trois dossiers xhprof_html, xhprof_lib et sample. Ensuite, placez ces trois dossiers là où vous pouvez y accéder, puis accédez au http://xxxx/sample/sample.php suivant via la connexion, et puis accédez au 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. Cliquez sur Afficher le graphique d'appel complet pour créer un lien vers la page du rapport graphique.

Comment utiliser

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

#开启,具体参数说明可以查看官方文档
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);

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