Heim > Artikel > Backend-Entwicklung > Ubuntu installiert xhprof
1. Installation
<code>wget <span>-c</span> http:<span>//pecl.php.net/get/xhprof-0.9.2.tgz</span> tar <span>-xzvf</span><span>.</span>/xhprof<span>-</span><span>0.9</span><span>.2</span><span>.</span>tgz cp <span>.</span>/xhprof<span>-</span><span>0.9</span><span>.2</span><span>.</span>tgz <span>.</span>/www <span>//xhprof自身带有一个web版的分析页面,放到我的web服务器下面</span> cd <span>.</span>/xhprof<span>-</span><span>0.9</span><span>.2</span>/extension /usr/<span>local</span>/php/bin/phpize <span>.</span>/configure <span>--</span>enable<span>-xhprof</span><span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span> make <span>&&</span> make install</code>
<code>[xhprof] extension=xhprof.so xhprof.output_dir=<span>/data/xhprof</span> /<span>/如果不加存放目录的话,默认是放在/tmp</span>下面 (注意:要有写的权限,直接 <span>777</span> 吧)!</code>
<code>service apache2 restart</code>
<code><span>// 启动xhprof</span> xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 各种牛逼的代码。。。。。。。 <span>// 停止xhprof</span><span>$xhprof_data</span> = xhprof_disable(); <span>$XHPROF_ROOT</span> = realpath(dirname(<span>__FILE__</span>) . <span>'/..'</span>); <span>include_once</span><span>$XHPROF_ROOT</span> . <span>"/xhprof_lib/utils/xhprof_lib.php"</span>; <span>include_once</span><span>$XHPROF_ROOT</span> . <span>"/xhprof_lib/utils/xhprof_runs.php"</span>; <span>// 保存统计数据,生成统计ID和source名称</span><span>$xhprof_runs</span> = <span>new</span> XHProfRuns_Default(); <span>$run_id</span> = <span>$xhprof_runs</span>->save_run(<span>$xhprof_data</span>, <span>"xhprof_foo"</span>); <span>//source名称是xhprof_foo</span><span>// 查看统计信息</span><span>echo</span><span>"<div><a href='../xhprof_html/index.php?run="</span> . <span>$run_id</span> . <span>"&source=xhprof_foo' target='_blank'>XHProf view</a></s></div>"</span>; </code>2 Es gibt Tabellen und Bilder, die den Aufrufstatus jeder Funktion zeigen
Diese Felder der Tabelle
Spaltenname Beschreibung
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: Mikrosekunde)
IWall% Der Prozentsatz der Zeit, die für die Ausführung der Methode aufgewendet wurde.
Exkl. Wall Time (Mikrosekunden) Die Zeit, die zum Ausführen der Methode selbst benötigt wird, ohne die Ausführungszeit von Untermethoden. (Einheit: Mikrosekunde)
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: Mikrosekunde)
ICpu% Der Prozentsatz der CPU-Zeit, die für die Methodenausführung aufgewendet wird.
Ohne CPU (Mikrosekunden) Die CPU-Zeit, die für die Ausführung der Methode selbst aufgewendet wurde, ohne die Ausführungszeit von Untermethoden. (Einheit: Mikrosekunde)
ECPU% Der Prozentsatz der CPU-Zeit, die von der Methode selbst aufgewendet wird.
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 von der Methodenausführung belegten Speichers.
Excl.MemUse (Bytes) Der durch die Ausführung der Methode selbst belegte Speicher, mit Ausnahme des durch die Ausführung von Untermethoden belegten Speichers. (Einheit: Bytes)
EMemUse% Der Prozentsatz des von der Methode selbst belegten Speichers.
Incl.PeakMemUse (Bytes) Incl.MemUse-Spitzenwert. (Einheit: Bytes)
IPeakMemUse% Inkl. MemUse-Spitzenprozentsatz.
Excl.PeakMemUse (Bytes) Excl.MemUse-Spitzenwert. Einheit: (Byte)
EPeakMemUse% Excl.MemUse Spitzenprozentsatz.
Für Bilder müssen Sie libpng und graphviz installieren
<code>wget -c http://sourceforge<span>.net</span>/projects/libpng/files/libpng15/<span>1.5</span><span>.23</span>beta01/libpng-<span>1.5</span><span>.23</span>beta01<span>.tar</span><span>.gz</span>/download tar -xzvf ./libpng-<span>1.5</span><span>.23</span>beta01<span>.tar</span><span>.gz</span> cd ./libpng-<span>1.5</span><span>.23</span>beta01 ./configure make && make install </code>Nach der Installation starten Sie Apache neu
<code>wget -c http://www<span>.graphviz</span><span>.org</span>/pub/graphviz/stable/SOURCES/graphviz-<span>2.24</span><span>.0</span><span>.tar</span><span>.gz</span> tar -xzvf ./graphviz-<span>2.24</span><span>.0</span><span>.tar</span><span>.gz</span> cd ./graphviz-<span>2.24</span><span>.0</span> ./configure make && make install </code>service apache2 restart
Klicken Sie auf der Tabellenseite auf [Vollständiges Aufrufdiagramm anzeigen]