您好,登錄后才能下訂單哦!
小編給大家分享一下tideways+toolkit對php代碼進行性能分析的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
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代碼進行性能分析的案例的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。