小编给大家分享一下tideways+toolkit对php代码进行性能分析的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
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代码进行性能分析的案例的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。