xhprof ist ein von Facebook-Ingenieuren entwickeltes und gewartetes PHP-Leistungsanalyse- und Debugging-Tool. Es ist leichter und ressourcenschonender und wird jedem dringend empfohlen. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zur Installation und Verwendung des PHP-Leistungsanalysetools xhprof ein. Freunde in Not können darauf zurückgreifen.
Vorwort
xhprof ist ein Open-Source-PHP-Leistungsüberwachungstool von Facebook. Es beansprucht nur sehr wenig Ressourcen und kann sogar in einem bereitgestellt werden Produktionsumgebung.
Es kann in Verbindung mit graphviz verwendet werden, das die Codeausführungszeit intuitiv in Form von Bildern anzeigen kann.
Im Folgenden geht es hauptsächlich um den Installations- und Nutzungsprozess
1. Installation
(1) Herunterladen und dekomprimieren
wget http://pecl.php.net/get/xhprof-0.9.4.tgz tar zxvf xhprof-0.9.4.tgz
(2) Kompilieren und ausführen
cd xhprof-0.9.4/extension/ phpize //此语句编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件,一般存放在/usr/local/php/bin/目录下 ./configure --with-php-config=/usr/local/php/bin/php-config make && make install mkdir /tmp/xhprof
(3) Bearbeiten Sie php.ini:
[xhprof] extension = xhprof.so xhprof.output_dir=/tmp/xhprof
xhprof. Ausgabeverzeichnis ist der Speicherpfad des von der Analyse generierten Protokolls
(4) Installieren Sie das Plug-in
Geben Sie schließlich das Array zurück, was es bedeutet ist installiert. Machen Sie sich keine Gedanken darüber, was die spezifischen Werte bedeuten, denn unten finden Sie die UI-Konfiguration. Es wird sehr intuitiv sein!
yum -y install libjpeg freetype freetype-devel libjpeg-devel liberation-sans-fonts.noarch
Automatische Installation
yum -y install graphviz
(5) Code einfügen
//找到你要分析的代码,在代码开始处添加,start profiling,将会统计内存占用情况 xhprof_enable(XHPROF_FLAGS_MEMORY); //具体代码 //在代码结束位置添加 $xhprof_data = xhprof_disable(); // stop profiler, display raw xhprof data for the profiler run include_once ("/usr/local/src/xhprof-0.9.4/xhprof_lib/utils/xhprof_lib.php"); # 请注意设置站点 include_path 权限 include_once ("/usr/local/src/xhprof-0.9.4/xhprof_lib/utils/xhprof_runs.php"); $xhprof_runs = new \XHProfRuns_Default(); // Save the run under a namespace "xhprof_foo". // **NOTE**: // By default save_run() will automatically generate a unique // run id for you. [You can override that behavior by passing // a run id (optional arg) to the save_run() method instead.] $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
(6) Ansicht
für xhprof in (2)- 0.9 .4/xhprof_html Um eine zugängliche Site zu konfigurieren, können Sie einfach den integrierten Server von PHP
cd xhprof-0.9.4/xhprof_html php -S 0.0.0.0:8990
verwenden und dann auf die IP+Port-Funktion zugreifen, um Berichte zu erstellen.
2. Gebrauchsanweisung
Funktionsname: Methodenname.
Aufrufe: Die Häufigkeit, mit der die Methode aufgerufen wurde.
Aufrufe %: Die Anzahl der Methodenaufrufe als Prozentsatz der Gesamtzahl der Methodenaufrufe auf derselben Ebene.
Incl.Wall Time (Mikrosekunden): Die Zeit, die für die Methodenausführung benötigt wird, einschließlich der Ausführungszeit von Untermethoden. (Einheit: Mikrosekunden)
IWall%: Der Prozentsatz der für die Methodenausführung aufgewendeten Zeit.
Exkl. Wall Time (Mikrosekunden): Die Zeit, die zum Ausführen der Methode selbst benötigt wird, ohne die Ausführungszeit von Untermethoden. (Einheit: Mikrosekunden)
EWall%: Der Prozentsatz der Zeit, die für die Ausführung der Methode selbst aufgewendet wurde.
Inkl. CPU (Mikrosekunden): CPU-Zeit, die für die Methodenausführung aufgewendet wird, einschließlich der Ausführungszeit von Untermethoden. (Einheit: Mikrosekunden)
ICpu%: Der Prozentsatz der CPU-Zeit, die für die Methodenausführung aufgewendet wird.
Exkl. CPU (Mikrosekunden): Die CPU-Zeit, die für die Ausführung der Methode selbst aufgewendet wurde, ohne die Ausführungszeit von Untermethoden. (Einheit: Mikrosekunden)
ECPU%: Der Prozentsatz der CPU-Zeit, die für die Ausführung der Methode selbst aufgewendet wurde.
Incl.MemUse(bytes): Der von der Methodenausführung belegte Speicher, einschließlich des von der Untermethodenausführung belegten Speichers. (Einheit: Bytes)
IMemUse%: Der Prozentsatz des durch die Methodenausführung belegten Speichers.
Excl.MemUse(bytes): Der von der Ausführung der Methode selbst belegte Speicher, ausgenommen der von der Ausführung von Untermethoden belegte Speicher. (Einheit: Bytes)
EMemUse%: Der Prozentsatz des von der Methode selbst belegten Speichers.
Incl.PeakMemUse(bytes): Incl.MemUse-Spitzenwert. (Einheit: Bytes)
IPeakMemUse%: Incl.MemUse-Spitzenprozentsatz.
Excl.PeakMemUse(bytes): Excl.MemUse-Spitzenwert. Einheit: (Bytes)
EPeakMemUse%: Excl.MemUse Spitzenprozentsatz.
Hinweis:
1. Stellen Sie vor der offiziellen Aktivierung sicher, dass Sie keine Auswirkungen haben Normaler Betrieb. Nachdem Sie sich vergewissert haben, dass der Ausgabeinhalt derselbe ist, gehen Sie erneut online.
2. Stellen Sie die max_time jeder URL nicht zu klein ein.
3. xhprof wirkt sich auf die Leistung von Onlinediensten aus. Daher ist es am besten, nur auf einem Computer zu überwachen oder den xhprof.php-Code zu ändern, um Anforderungen nach dem Zufallsprinzip zu überwachen.
Zusammenfassung
php package db Beispielerklärung der Methode zur Verbindung der SQLite3-Datenbank
Analyse und Erklärung der Methode zur Simulation einer HTTP-Anfrage in PHP
PHP-Implementierung von Socket Beispielerklärung der Push-Technologie
Das obige ist der detaillierte Inhalt vonInstallation und Verwendung des PHP-Leistungsanalysetools xhprof und zugehörige Vorsichtsmaßnahmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!