溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tideways+toolkit對php代碼進行性能分析的案例

發(fā)布時間:2020-11-06 14:15:57 來源:億速云 閱讀:211 作者:小新 欄目:編程語言

小編給大家分享一下tideways+toolkit對php代碼進行性能分析的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

toolkit是tideway官方提供的性能分析的命令行工具。如果你只是本地開發(fā)調試接口性能,不想安裝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)
    );
}

執(zhí)行下代碼,然后就會生成/path/to/app.xphrof

性能分析

tk analyze-xhprof /path/to/app.xphrof

tideways+toolkit對php代碼進行性能分析的案例

默認性能分析的指標是wt_excl,其他的指標有

1.wt 調用時長,包括子函數(shù)

2.excl_wt 調用時長,不包括子函數(shù)

3.cpu CPU調用時長,包括子函數(shù)

4.excl_cpu CPU調用時長,不包括子函數(shù)

5.memory 內存消耗(字節(jié)),包括子函數(shù)

6.excl_memory 內存消耗(字節(jié)),不包括子函數(shù)

7.io io時長,包括子函數(shù)

8.excl_io io時長,不包括子函數(shù)

生成性能瓶頸圖

tk generate-xhprof-graphviz /path/to/app.xhprof
dot -Tpng callgraph.dot > callgraph.png

tideways+toolkit對php代碼進行性能分析的案例

顯示的指標有

1.函數(shù)名

2.Inc 函數(shù)運行時間,包括子函數(shù)

3.Excl 函數(shù)運行時間,不包括子函數(shù)

4.total calls 總調用次數(shù)

以上是tideways+toolkit對php代碼進行性能分析的案例的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI