Maison  >  Article  >  développement back-end  >  Introduction à l'installation de xhprof pour l'analyse des performances dans PHP 7.1

Introduction à l'installation de xhprof pour l'analyse des performances dans PHP 7.1

不言
不言original
2018-07-04 17:18:281671parcourir

Cet article présente principalement l'introduction de l'installation de xhprof pour l'analyse des performances dans PHP 7.1. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Installation d'extensions.
La version de l'extension xhprof s'obtient depuis https://github.com/longxinH/xhprof (une bibliothèque tierce, la version officielle ne supporte pas php7)

Téléchargez et compilez le xhprof extension
Opérater dans le répertoire html du web :
git clone https://github.com/longxinH/xhprof

Compiler l'extension

cd xhprof/extension/phpize
./configure 
makemake install

Modifier la configuration de php.ini

[xhprof]
extension=xhprof.so;
xhprof.output_dir=/tmp/xhprof

où xhprof.output_dir est le répertoire de sortie de xhprof Un run_id.project_name.xhprof sera généré à chaque fois. la méthode save_run de xhprof est exécutée. Peu importe où se trouve ce répertoire. Notez que les permissions de ce chemin doivent être en lecture et en écriture ! ! Sinon, le fichier ne peut pas être généré avec succès

Redémarrer php-fpm
sudo service php7.1-fpm restart

Ajouter un code de test

<?php
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);// 要检查性能的代码
$xhprof_data = xhprof_disable();
include_once &#39;/var/www/html/xhprof/xhprof_lib/utils/xhprof_lib.php&#39;;
include_once &#39;/var/www/html/xhprof/xhprof_lib/utils/xhprof_runs.php&#39;;
$xhprof_runs = new \XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, &#39;your_project&#39;);

Les deux fichiers xhprof_lib.php et xhprof_runs.php doivent être introduits dans le code de test

Voir le généré rapport
Besoin d'accéder à : xhprof/xhprof_html/index.php vue du fichier :
http://localhost/xhprof/xhprof_html/index.php?run=5b35d3dfa8c29&source=your_project
Le paramètre après exécution est $run_id, et le paramètre source est Le nom de la configuration de votre_projet

Si le graphique n'est pas généré correctement, vous devez installer le plug-in :
sudo apt-get install graphviz

Code de démonstration réel

<?php
function test1(){
for($i=0;$i<10;$i++){
echo &#39;aaa&#39;.$i.&#39;<br>&#39;;
}
}// start profilingxhprof_enable();

test1();
// stop profiler
$xhprof_data = xhprof_disable();
// display raw xhprof data for the profiler runprint_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_test"
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");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_test\n".
"---------------\n";

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

La différence et l'installation de LAMP, LNMP et LNAMP

Utiliser Wamp pour créer un local Php environnement de développement et méthode de débogage HBuilder

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