脚本宝典收集整理的这篇文章主要介绍了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
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,其他的指标有
- wt 调用时长,包括子函数
- excl_wt 调用时长,不包括子函数
- cpu CPU调用时长,包括子函数
- excl_cpu CPU调用时长,不包括子函数
- memory 内存消耗(字节),包括子函数
- excl_memory 内存消耗(字节),不包括子函数
- io io时长,包括子函数
- excl_io io时长,不包括子函数
生成性能瓶颈图
tk generate-xhprof-graphviz /path/to/app.xhprof
dot -Tpng callgraph.dot > callgraph.png
显示的指标有
- 函数名
- Inc 函数运行时间,包括子函数
- Excl 函数运行时间,不包括子函数
- total calls 总调用次数
以上是脚本宝典为你收集整理的tideways+toolkit对php代码进行性能分析全部内容,希望文章能够帮你解决tideways+toolkit对php代码进行性能分析所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。