PHP效能分析平臺搭建(tideways + xhgui+ nginx + php7)
一、安裝mongodb
此處省略1000字,自己查詢文件
二、安裝mongodb擴充套件
wget http://pecl.php.net/get/mongodb-1.4.0.tgz
tar -zxvf mongodb-1.4.0.tgz
cd mongodb-1.4.0
phpize
./configure --with-php-config=你的php-config路徑 我的是在/usr/local/Cellar/php@7.1/7.1.16_1/bin/php-config
make
make install
三、安裝tideways擴充套件
git clone https://github.com/tideways/php-profiler-extension.git
cd php-profiler-extension
phpize
./configure --with-php-config=你的php-config路徑
make
make install
四、修改配置檔案
extension=tideways.so
tideways.auto_prepend_library=0
extension=mongodb.so
五、下載xhgui專案
git clone https://github.com/perftools/xhgui.git
cd xhgui
php install.php(看下是否有vendor這個目錄)
##專案配置
#配置檔案:config/default_config.php
#執行目錄:webroot
#nginx rewrite規則
# location / {
# try_files $uri $uri/ /index.php$is_args$query_string;
# }
六、配置檔案修改
#xhgui 預設是採集1% ,如果是排查問題時還是希望能夠100%採集會比較方便。進入xhgui原始碼目錄,修改config/config.default.php檔案,
#平時仍然按1%的取樣率取樣,防止資料增長過快,當想除錯時,就在URL中新增debug=1的引數即可。
#在xhgui/config/config.default.php中,找到profiler.enable這裡,按如下修改:
#mongo
//取樣率
'profiler.enable' => function() {
// url 中包含debug=1則百分百捕獲
if(!empty($_GET['debug'])){
return true;
} else {
// 1%取樣
return rand(1, 100) === 42;
}
},
//優化建議:可以給mongo資料表加上索引
七、使用&效果
//在需要的專案中的最開始,引入檔案即可
require "/dir/external/header.php";
//操作專案,即可在xhgui平臺中檢視資料分析效能
效果圖如下圖