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代码进行功能剖析的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!