Maison >développement back-end >PHP7 >Comment installer et utiliser l'outil d'analyse des performances xhprof sous PHP7

Comment installer et utiliser l'outil d'analyse des performances xhprof sous PHP7

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-05-27 09:24:082429parcourir

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.

Comment installer et utiliser l'outil d'analyse des performances xhprof sous PHP7

La version xhprof est obtenue à partir de https://github.com/longxinH/xhprof

git clone https://github.com/longxinH/xhprof

Installez xhprof

cd xhprof/extension/
phpize
./configure 
make
make install

puis Ajoutez

extension=xhprof.so

à /etc/php.ini selon la situation et exécutez

php -m | grep xhprof

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
---------------

Ensuite, copiez le ? run=592567308784c&source=xhprof_foo après index.php

Visitez

xhprof_html/index.php?run=592567308784c&source=xhprof_foo

pour voir le résultat

Comment installer et utiliser loutil danalyse des performances xhprof sous PHP7

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。
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
Ajouter

// start profiling
xhprof_enable();

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";

pour obtenir la page affichée ci-dessous

Comment installer et utiliser loutil danalyse des performances xhprof sous PHP7

Voir l'image

Comment installer et utiliser loutil danalyse des performances xhprof sous PHP7

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer