使用phpAnalysis打造PHP應用非侵入式性能分析器,查找PHP性能瓶頸。php
phpAnalysis是一款輕量級非侵入式PHP應用性能分析器,適用於開發、測試及生產環境部署使用,方便開發及測試工程師診斷性能問題:html
當咱們發現生產環境的某個接口執行時間特別長時應該怎麼作?
直接登陸線上機器單步調試?
打大量的log而後分析? mysql
通常咱們能夠把分析流程拆分爲以下幾步操做:git
1,2,3步驟都須要去分析代碼,看哪部分執行時間長。若是人工一行代碼去排查,須要消耗大量的開發人員的時間而且定位難度很大,於此,phpAnalysis誕生了 :)github
下載源代碼sql
cd /home/www git clone https://github.com/dreamans/phpAnalysis.git cd phpAnalysis
修改配置文件數據庫
文件位置:/home/www/phpAnalysis/config/database.php 修改數據庫連接信息 數據庫須要本身建立 建表語句請見install.sql return [ 'connection' => [ 'host' => '127.0.0.1', // 數據庫主機名 'port' => 3306, // 數據庫端口號 'user' => 'root', // 用戶名 'pass' => 'root', // 密碼 'db' => 'phpAnalysis', // 數據庫名 'tb_prefix' => 'pa_', // 表前綴 ], ];
修改Web Server配置,以Nginx爲例性能優化
server { listen 8000; server_name localhost; root /home/www/phpAnalysis/public; index index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
修改php.iniide
; 告訴PHP程序在執行前首先調用此文件 auto_prepend_file = /home/www/phpAnalysis/agent/header.php [tideways] extension=tideways.so ;不須要自動加載,在程序中控制就行 tideways.auto_prepend_library=0 ;頻率設置爲100,在程序調用時能改 tideways.sample_rate=100
重啓php-fpm進程函數
若是安裝順利,此時訪問 http://localhost:8000 能看到效果
支持按應用實例名稱、請求時段、url模糊查詢篩選列表
項目處於開發階段,權限控制未完成且未作性能優化,請勿在生產環境中部署,感謝支持!
對項目有任何意見建議請提issue https://github.com/dreamans/p...