>  기사  >  백엔드 개발  >  우분투 xhprof 설치

우분투 xhprof 설치

WBOY
WBOY원래의
2016-08-08 09:21:591079검색

1. 설치

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

결과 표시
각 기능의 호출 상태를 보여주는 표와 그림이 있습니다
테이블의 이러한 필드

열 이름 설명
함수 이름 방법 이름입니다.
호출 메소드가 호출된 횟수입니다.
호출% 동일한 수준의 총 메서드 호출 수에 대한 메서드 호출 수를 백분율로 나타낸 것입니다.
Incl.Wall Time(마이크로초) 하위 메소드 실행 시간을 포함하여 메소드 실행에 소요되는 시간입니다. (단위: 마이크로초)
IWall% 메서드 실행에 소요된 시간의 비율입니다.
Excl. Wall Time (microsec) 하위 메소드 실행 시간을 제외하고 메소드 자체를 실행하는 데 걸리는 시간입니다. (단위: 마이크로초)
EWall% 메소드 자체를 실행하는 데 소요된 시간의 백분율입니다.
CPU 포함(마이크로초) 하위 메서드 실행 시간을 포함하여 메서드 실행에 소요된 CPU 시간입니다. (단위: 마이크로초)
ICpu% 메서드 실행에 소요된 CPU 시간의 비율입니다.
CPU 제외(마이크로초) 하위 메서드 실행 시간을 제외하고 메서드 자체를 실행하는 데 소요된 CPU 시간입니다. (단위: 마이크로초)
ECPU% 메서드 자체에서 소비한 CPU 시간의 비율입니다.
Incl.MemUse(바이트) 하위 메서드 실행에서 차지하는 메모리를 포함하여 메서드 실행에서 차지하는 메모리입니다. (단위: 바이트)
IMemUse% 메서드 실행에 사용되는 메모리 비율입니다.
Excl.MemUse(바이트) 하위 메서드 실행에 사용된 메모리를 제외하고 메서드 자체 실행에 사용된 메모리입니다. (단위: 바이트)
EMemUse% 메서드 자체가 차지하는 메모리 비율입니다.
Incl.PeakMemUse(바이트) Incl.MemUse 피크 값입니다. (단위: 바이트)
IPeakMemUse% Incl.MemUse 피크 백분율입니다.
Excl.PeakMemUse(바이트) Excl.MemUse 피크 값입니다. 단위: (바이트)
EPeakMemUse% Excl.MemUse 피크 백분율입니다.

사진을 보려면 libpng와 graphviz를 설치해야 합니다
libpng 설치

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

graphviz 설치

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

설치 후 Apache를 다시 시작하세요
service apache2 restart

테이블 페이지에서 [전체 호출 그래프 보기]를 클릭하세요
사진을 사용하여 각 코드 세그먼트의 호출 및 성능을 표시할 수 있습니다

위 내용은 우분투에서의 xhprof 설치에 대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.