Heim  >  Artikel  >  Backend-Entwicklung  >  Praktische Fallanalyse des PHP-Leistungstesttools xhprof

Praktische Fallanalyse des PHP-Leistungstesttools xhprof

php中世界最好的语言
php中世界最好的语言Original
2018-05-16 11:45:552766Durchsuche

Dieses Mal werde ich Ihnen eine praktische Fallanalyse des PHP-Leistungstesttools xhprof vorstellen. Was sind die Vorsichtsmaßnahmen für die praktische Fallanalyse des PHP-Leistungstesttools xhprof? , lass uns einen Blick darauf werfen.

xhprof-Übersicht:

XHProf ist ein mehrschichtiges PHP-Leistungsanalysetool. Es meldet die Anzahl der Anfragen und verschiedene Metriken auf Funktionsebene, einschließlich Blockierungszeit, CPU-Zeit und Speichernutzung. Der Overhead einer Funktion kann in Aufrufer- und Callee-Overhead, die XHProf-Datenerfassungsphase, unterteilt werden, in der die Anrufanzahlverfolgung und inklusive metrische Bögen in einem dynamischen Aufrufgraphen eines Programms aufgezeichnet werden. Seine einzigartige Berichts-/Nachbearbeitungsphase der Datenberechnung. Während der Datenerfassung verarbeitet XHProfd rekursive Funktionsaufrufe durch die Erkennung von Schleifen und vermeidet Endlosschleifen, indem es jedem tiefen Aufruf im rekursiven Aufruf einen sinnvollen Namen gibt. Der XHProf-Analysebericht hilft, die Struktur des ausgeführten Codes zu verstehen, er verfügt über eine einfache HTML-Benutzeroberfläche (geschrieben in PHP). Die browserbasierte Benutzeroberfläche für die Leistungsanalyse erleichtert das Anzeigen oder Teilen von Ergebnissen mit Kollegen. Es können auch Anrufdiagramme erstellt werden.

Installation und Verwendung:

Vor kurzem wollte ich die Leistung von Websites vergleichen, also habe ich einen Leistungstestjob gefunden, mit dem ich herumexperimentieren kann. Es gibt viele Tools, aber im Vergleich zu früher finde ich die Installation und Verwendung von xhprof immer noch relativ einfach und die Datenanalyse ist auch in Ordnung. . .

Kompilieren und installieren Sie xhprof

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

Fügen Sie die generierte xhprof.so-Datei zur php.ini-Datei hinzu und starten Sie dann Apache neu

...
#这里要使用相对路径加载的话首先要看一下extension_dir配置的路径,或者直接写上`.so`文件的绝对能够路径即可。。。
extension=xhprof.so
...
sudo apachectl restart
##测试扩展是否安装成功,有如下输出则ok
php --ri xhprof
...
 xhprof
 xhprof => 0.9.2
 CPU num => 4
...

graphviz installieren

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

Getestet

Vorher heruntergeladen Im xhprof Suchen Sie im Ordner xhprof_html, xhprof_lib und sample. Legen Sie dann diese drei Ordner dort ab, wo Sie darauf zugreifen können, und greifen Sie dann über die folgende http://xxxx/sample.php zu ://xxxx/xhprof_html/, Sie sehen einen Datensatz. Nachdem Sie darauf geklickt haben, können Sie die Seite mit den Analyseergebnissen anzeigen. Klicken Sie auf „Vollständigen CallGraph anzeigen“, um einen Link zur grafischen Berichtsseite zu erhalten.

So verwenden Sie

Angenommen, Sie möchten sich die Homepage-Leistungsdaten einer von Ihnen erstellten Website ansehen, dann müssen Sie die Leistung ermitteln Daten dieser Website Startseite Eintragsdatei , fügen Sie den xhprof-Leistungstestcode vor und nach dem Laden der Kerndatei hinzu

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

Ich glaube, Sie haben die Methode gemeistert, nachdem Sie den Fall in diesem Artikel gelesen haben Weitere spannende Inhalte finden Sie unter PHP Chinesisch. Andere verwandte Artikel online!

Empfohlene Lektüre:

PHP-Implementierung des Zufallseliminierungsalgorithmus

Detaillierte Erläuterung der Verwendung der Yii2-Framework-Datenüberprüfung

Das obige ist der detaillierte Inhalt vonPraktische Fallanalyse des PHP-Leistungstesttools xhprof. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Erweiterung MultithreadingNächster Artikel:PHP-Erweiterung Multithreading