一、前言
有用的東西還是記錄下來吧,也方便以后的查詢;這次記錄一下xhprof的安裝使用;
xhprof是facebook開源出來的一個php輕量級的性能分析工具,跟Xdebug類似,但性能開銷更低,
還可以用在生產(chǎn)環(huán)境中,也可以由程序開 關(guān)來控制是否進(jìn)行profile。
二、安裝
wget http://pecl.php.net/get/xhprof-0.9.3.tgz tar zxf xhprof-0.9.3.tgz cd xhprof-0.9.3/extension /usr/bin/phpize (php版本安裝后生成的phpize文件,可根據(jù)phpinfo查看,所以php版本不同,生成的phpize也不同,此步驟主要生成configure文件) ./configure –with-php-config=/usr/bin/php-config (php-config的路徑,也是php安裝后生成的文件) make sudo make install
(會自動將生成的擴(kuò)展文件拷貝到擴(kuò)展目錄中/usr/lib64/php/modules)
當(dāng)然具體的php文件的目錄,每個人不盡相同,可根據(jù)phpinfo查詢
三、php.ini配置
根據(jù)phpinfo找到 extension_dir的目錄
(/etc/php.d/xhprof.ini)
添加一下內(nèi)容:
extension=xhprof.soxhprof.output_dir=/tmp/xhprof //xhprof的分析日志
四、重啟服務(wù)
sudo /etc/init.d/http restart
查看phpinfo是否安裝成功
五、使用方法
開頭:xhprof_enable(); //開啟監(jiān)測 //xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不記錄內(nèi)置的函數(shù) //xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 同時分析CPU和Mem的開銷 //要測試的代碼.........結(jié)尾:$xhprof_data = xhprof_disable(); //停止監(jiān)測,返回運(yùn)行數(shù)據(jù)$xhprof_root = '/(xhprof的虛擬主機(jī)目錄)/'; //引入當(dāng)初安裝到xhprof虛擬主機(jī)目錄中的文件include_once $xhprof_root."xhprof_lib/utils/xhprof_lib.php"; include_once $xhprof_root."xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof");echo '<a href="http://(xhprof的虛擬主機(jī)域名)/xhprof_html/index.php?run='.$run_id.'&source=xhprof" target="_blank">xhprof統(tǒng)計</a>';
上邊的代碼使用了,給xhprof設(shè)置虛擬主機(jī)的方法。
把源碼包中的 xhprof_html 和 xhprof_lib 文件夾拷貝到自己建立的虛擬目錄中
cp -r xhprof_html xhprof_lib /xxx/xhprof/ (此處目的是建立數(shù)據(jù)分析目錄,可將此目錄配置成虛擬主機(jī)訪問)
運(yùn)行后,統(tǒng)計點(diǎn)擊返回的 xhprof統(tǒng)計 鏈接,即可。
六、注意問題以及名詞解釋
在顯示的統(tǒng)計頁面中,點(diǎn)[View Full Callgraph]圖形化顯示(最大的性能問題會用紅色標(biāo)出,其次是黃色);
點(diǎn)擊后,可能提示錯誤消息,執(zhí)行以下命令即可
yum install -y graphviz yum install graphviz-gd
新聞熱點(diǎn)
疑難解答