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