tideways+toolkit对php代码进行性能分析-php教程

资源魔 28 0
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

e5af2af524e8771bb982624d4dbc4b0.png

默许功能剖析的目标是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

ea3c0e00a5744b850840e9eaae2c66f.png

显示的目标有

1.函数名

2.Inc 函数运转工夫,包罗子函数

3.Excl 函数运转工夫,没有包罗子函数

4.total calls 总挪用次数

以上就是tideways+toolkit对php代码进行功能剖析的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!