toolkit是tideway官方提供的效能分析的命令列工具。如果你只是本地開發調試接口性能,不想安裝xhgui,那麼使用toolkit就足夠了.
#安裝
安裝tideways拓展
#git clone https://github.com/tideways/php-xhprof-extension.git cd php-profiler-extension phpize ./configure make && make install
在php.ini中加入
extension=tideways_xhprof.so
重啟php-fpm
service php-fpm restart
toolkit安裝
go get github.com/tideways/toolkit # 安装graphviz # macOS brew install graphviz # ubuntu sudo apt-get install -y graphviz
設定別名
alias tk=toolkit
tideways toolkit
程式碼埋點
在程式入口中加入
if (extension_loaded('tideways_xhprof')) { tideways_xhprof_enable(TIDEWAYS_XHPROF_FLAGS_CPU | TIDEWAYS_XHPROF_FLAGS_MEMORY); } // 你的代码 application(); if (extension_loaded('tideways_xhprof')) { $data = tideways_xhprof_disable(); file_put_contents( sprintf('%s/app.xhprof', '/path/to'), json_encode($data) ); }
執行下程式碼,然後就會產生/path/to/app.xphrof
效能分析
tk analyze-xhprof /path/to/app.xphrof##預設效能分析的指標是wt_excl ,其他的指標有1.wt 呼叫時長,包括子函數2.excl_wt 呼叫時長,不包含子函數3.cpu CPU呼叫時長,包括子函數4.excl_cpu CPU呼叫時間長,不包含子函數#5.memory 記憶體消耗(位元組),包含子函數6.excl_memory 記憶體消耗(位元組),不包括子函數7.io io時長,包括子函數#8.excl_io io時長,不包含子函數
產生效能瓶頸圖
tk generate-xhprof-graphviz /path/to/app.xhprof dot -Tpng callgraph.dot > callgraph.png
顯示的指標有
1.函數名稱2.Inc函數運行時間,包括子函數3.Excl 函數運行時間,不包含子函數4.total calls 總呼叫次數以上是tideways+toolkit對php程式碼進行效能分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!