Cet article vous présentera comment installer et utiliser l'outil d'analyse des performances xhprof sous PHP7. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
La version xhprof est obtenue à partir de https://github.com/longxinH/xhprof
git clone https://github.com/longxinH/xhprof
Copier après la connexion
Installez xhprof
cd xhprof/extension/
phpize
./configure
make
make install
Copier après la connexion
puis Ajoutez
extension=xhprof.so
Copier après la connexion
à /etc/php.ini selon la situation et exécutez
php -m | grep xhprof
Copier après la connexion
pour voir le résultat, indiquant que l'extension php est installée avec succès, puis redémarrez Apache ou php-fpm
exécuter
Vous pouvez exécuter directement l'exemple dans le répertoire d'exemple dans le fichier cloné depuis github
Le résultat est le suivant
Array
(
[main()] => Array
(
[ct] => 1
[wt] => 9
)
)
---------------
Assuming you have set up the http based UI for
XHProf at some address, you can view run at
http://<xhprof-ui-address>/index.php?run=592567308784c&source=xhprof_foo
---------------
Copier après la connexion
Ensuite, copiez le ? run=592567308784c&source=xhprof_foo après index.php
Visitez
xhprof_html/index.php?run=592567308784c&source=xhprof_foo
Copier après la connexion
pour voir le résultat
Cliquez sur Afficher le graphique de calligraphie complet au milieu pour voir l'image de l'analyse des performances
Signaler les erreurs
failed to execute cmd:" dot -Tpng". stderr:sh: dot:command not found。
Copier après la connexion
rrree
Adaptez-vous en conséquence
Par exemple, si vous souhaitez tester votre propre projet, comme l'analyse des performances d'un framework.
Copiez les deux fichiers
xhprof_lib.php et xhprof_runs.php dans le même répertoire que le fichier d'entrée, puis ajoutez
//解决方案
yum install graphviz
Copier après la connexion
<🎜 au début du fichier d'entrée >Ajouter
// start profiling
xhprof_enable();
Copier après la connexion
jusqu'à la position finale pour obtenir l'URL indiquée ci-dessus, puis visitez à nouveau
// stop profiler
$xhprof_data = xhprof_disable();
// display raw xhprof data for the profiler run
print_r($xhprof_data);
include_once "xhprof_lib.php";
include_once "xhprof_runs.php";
// save raw data for this profiler run using default
// implementation of iXHProfRuns.
$xhprof_runs = new XHProfRuns_Default();
// save the run under a namespace "xhprof_foo"
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "---------------\n".
"Assuming you have set up the http based UI for \n".
"XHProf at some address, you can view run at \n".
"http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n".
"---------------\n";
Copier après la connexion
pour obtenir la page affichée ci-dessous
Voir l'image
La partie rouge sur l'image est la partie avec des performances inférieures et une consommation de temps plus longue. Nous pouvons vérifier le code système en fonction des fonctions marquées en rouge. Optimize
Supplément
- Nom de la fonction : nom de la méthode.
- Appels : le nombre de fois que la méthode a été appelée.
- Calls% : le nombre d'appels de méthode en pourcentage du nombre total d'appels de méthode au même niveau.
- Incl.Wall Time (microsec) : Le temps nécessaire à l'exécution de la méthode, y compris le temps d'exécution des sous-méthodes. (Unité : microseconde)
- IWall% : Le pourcentage de temps passé à l'exécution de la méthode.
- Excl. Wall Time (microsec) : Le temps nécessaire pour exécuter la méthode elle-même, à l'exclusion du temps d'exécution des sous-méthodes. (Unité : microseconde)
- EWall% : Le pourcentage de temps passé à exécuter la méthode elle-même.
- Incl. CPU (microsecs) : Le temps CPU consacré à l'exécution de la méthode, y compris le temps d'exécution des sous-méthodes. (Unité : microseconde)
- ICpu% : le pourcentage de temps CPU consacré à l'exécution de la méthode.
- Excl. CPU (microsec) : Le temps CPU passé à exécuter la méthode elle-même, à l'exclusion du temps d'exécution des sous-méthodes. (Unité : microseconde)
- ECPU% : le pourcentage de temps CPU consacré à l'exécution de la méthode elle-même.
- Incl.MemUse(bytes) : La mémoire occupée par l'exécution de la méthode, y compris la mémoire occupée par l'exécution de la sous-méthode. (Unité : octets)
- IMemUse% : Le pourcentage de mémoire occupé par l'exécution de la méthode.
- Excl.MemUse(bytes) : La mémoire occupée par l'exécution de la méthode elle-même, à l'exclusion de la mémoire occupée par l'exécution des sous-méthodes. (Unité : octets)
- EMemUse% : Le pourcentage de mémoire occupé par la méthode elle-même.
- Incl.PeakMemUse (octets) : Incl.MemUse valeur de crête. (Unité : octets)
- IPeakMemUse% : Incl.MemUse pourcentage de pointe.
- Excl.PeakMemUse (octets) : valeur de crête Excl.MemUse. Unité : (octet)
- EPeakMemUse% : Excl.MemUse pourcentage de pointe.
Apprentissage recommandé :
Tutoriel vidéo php
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!