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

藏色散人
發布: 2023-04-07 12:58:01
轉載
3018 人瀏覽過

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中文網其他相關文章!

相關標籤:
php
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!