首頁 >後端開發 >php教程 >tideways+toolkit對php程式碼進行效能分析

tideways+toolkit對php程式碼進行效能分析

藏色散人
藏色散人轉載
2019-09-24 09:36:483093瀏覽

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

tideways+toolkit對php程式碼進行效能分析

##預設效能分析的指標是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

tideways+toolkit對php程式碼進行效能分析

顯示的指標有

1.函數名稱

2.Inc函數運行時間,包括子函數

3.Excl 函數運行時間,不包含子函數

4.total calls 總呼叫次數

以上是tideways+toolkit對php程式碼進行效能分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除