Linux 下安裝PHP性能分析工具 xhprof 筆記
為ECOS框架寫了一個相關的APP應用,前段時候要用xhprof來測試一下ECAE上的php的運行效率又重新要安裝xhprof,本日志記錄下相關的過程,以便以后再次使用到。
編譯安裝
wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.9.2/extension/sudo phpize./configure --with-php-config=/usr/local/php/bin/php-configsudo makesudo make install
配置 php.ini
在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
注:如果是64位系統需要將xhprof.so文件拷貝到相關的lib64的目錄下
將代碼加入到要測試的php當中
<?pho// cpu:XHPROF_FLAGS_CPU 內存:XHPROF_FLAGS_MEMORY// 如果兩個一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORYxhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);// 要測試的php代碼$data = xhprof_disable(); //返回運行數據// xhprof_lib在下載的包里存在這個目錄,記得將目錄包含到運行的php代碼中include_once 'xhprof_lib/utils/xhprof_lib.php';include_once 'xhprof_lib/utils/xhprof_runs.php';$objXhprofRun = new XHProfRuns_Default();// 第一個參數j是xhprof_disable()函數返回的運行信息// 第二個參數是自定義的命名空間字符串(任意字符串),// 返回運行ID,用這個ID查看相關的運行結果$run_id = $objXhprofRun->save_run($data, 'xhprof');var_dump($run_id);
查看運行結果
將xhprof_lib&&xhprof_html相關目錄copy到可以訪問到的地址訪問 xxx/xhprof_html/index.php?run=$run_id&source=bluefrog 就可經看到你的php代碼運行的相關情況
下面是一些參數說明
Inclusive Time 包括子函數所有執行時間。Exclusive Time/Self Time 函數執行本身花費的時間,不包括子樹執行時間。Wall Time 花去了的時間或掛鐘時間。CPU Time 用戶耗的時間+內核耗的時間Inclusive CPU 包括子函數一起所占用的CPUExclusive CPU 函數自身所占用的CPU
注:?需要使用ctype這個擴展
相關文章: