Heim  >  Artikel  >  Backend-Entwicklung  >  Ubuntu installiert xhprof

Ubuntu installiert xhprof

WBOY
WBOYOriginal
2016-08-08 09:21:591070Durchsuche

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

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

Installieren Sie libpng


Installieren Sie graphviz
<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]

Sie können Bilder verwenden, um den Aufruf und die Leistung jedes Codesegments zu zeigen


Das Obige stellt die Installation von xhprof unter Ubuntu vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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