二,安裝XHProf擴展模塊1,安裝
1 wget http://pecl.php.net/get/xhprof-0.9.2.tgz
2 tar zxvf xhprof-0.9.2.tgz
3 cp ./xhprof-0.9.2.tgz ./www //xhprof自身帶有一個web版的分析頁面,放到我的web服務器下面
4 cd xhprof-0.9.2/extension
5 /usr/local/php/bin/phpize
6 ./configure --enable-xhprof --with-php-config=/usr/local/php/bin/php-config
7 make && make install
2,配置
1 [xhprof]
2 extension=xhprof.so
3 xhprof.output_dir=/home/zhangy/xhprof //如果不加存放目錄的話,默認是放在/tmp下面
三,XHProf測試前面我們說過了,XHProf自身帶有一個web版的測試工具,裡面還有一個小例子。看一下這個例子,我做了一點修改和註釋
01 <?php
02 function bar($x) {
03 if ($x > 0) {
04 bar($x -1);
05 }
06 }
07 function foo() {
08 for ($idx = 0; $idx < 5; $idx++) {
09 bar($idx);
10 $x = strlen("abc");
11 }
12 }
13
14 //啟動xhprof
15 xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
16
17 //調用foo函數,也是我們要分析的函數
18 foo();
19
20 //停止xhprof
21 $xhprof_data = xhprof_disable();
22
23 //取得統計數據
24 print_r($xhprof_data);
25
26 $XHPROF_ROOT = realpath(dirname(__FILE__) . '/..');
27 include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
28 include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
29
30 //保存統計數據,生成統計ID和source名稱
31 $xhprof_runs = new XHProfRuns_Default();
32 $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo"); //source名稱是xhprof_foo
33
34 //彈出一個統計窗口,查看統計信息
35 echo "<script language='javascript'>window.open('../xhprof_html/index.php?run=" . $run_id . "&source=xhprof_foo');</script>";
36 ?>
以下是部分的結果:
1 [foo==>bar] => Array轉載自:http://blog.snsgou.com/post-278.html
2 (
3 [ct] => 5 //bar()這個函數被調用了5次
4 [wt] => 63 //每次運行bar()所要的時間,不知道這個是不是平均值
5 [cpu] => 0 //每次運行bar(),cpu運算時間
6 [mu] => 2860 //每次運行bar(),php所使用內存的改變
7 [pmu] => 0 //每次運行bar(),php在內存使用最高峰時,所使用內存的改變
8 )
沒有留言:
張貼留言