1. 程式人生 > 其它 >PhalApi-Xhprof -- Facebook開源的輕量級PHP效能分析工具

PhalApi-Xhprof -- Facebook開源的輕量級PHP效能分析工具

#PhalApi-Xhprof -- Facebook開源的輕量級PHP效能分析工具

##前言

Facebook開源的輕量級PHP效能分析工具,非常爽希望大家喜歡

附上:

官網地址:http://www.phalapi.net/

開源中國Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release

開源中國拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Library

##1. 安裝

首先需要安裝配置Xhprof

wget http://pecl.php.net/get/xhprof-0.9.2.tgz

tar zxf xhprof-0.9.2.tgz

cd xhprof-0.9.2/extension/

sudo phpize
./configure --with-php-config=/usr/local/php/bin/php-config
sudo make
sudo make install

需要在php.ini中配置好

[xhprof] extension=xhprof.so; ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. ; ;xhprof.output_dir=<directory_for_storing_xhprof_runs> xhprof.output_dir=/tmp/xhprof

通過phpinfo()看到xhprof擴充套件則為安裝成功

注意:xhprof.output_dir=/tmp/xhprof,設定必須統一不然需要自行替換編譯出來html的問題到拓展專案中

然後對我們的index.php檔案做如此的改造

在頭部加上:

if (!empty($_GET['__debug__'])) {
    xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
}

在尾部加上: if (!empty($_GET['debug'])) {

    $data = xhprof_disable();

    include API_ROOT . "/Library/Xhprof/utils/xhprof_lib.php";
    include API_ROOT . "/Library/Xhprof/utils/xhprof_runs.php";
    $objXhprofRun = new XHProfRuns_Default();//資料會儲存在php.ini中xhprof.output_dir設定的目錄去中
    echo $objXhprofRun->save_run($data, "developers");
}

這個時候我們訪問的時候帶入請求引數__debug__可以獲得如下返回

然後我們訪問http://xxxx/Library/Xhprof/index.php可以的到如下介面

我們可以看到有一個key和上面生成的一樣的我們點選進去:

##2. 總結

希望此拓展能夠給大家帶來方便以及實用,此擴充套件可以分析出在整個執行途中的消耗用時可以針對進行優化,在壓力情況下可以非常好的辨別出慢程式碼出現在哪裡!

注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!

官網QQ交流群:421032344 歡迎大家的加入!