介绍
小编给大家分享一下潮流+工具箱对php代码进行性能分析的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
工具包是潮流官方提供的性能分析的命令行工具。如果你只是本地开发调试接口性能,不想安装xhgui,那么使用工具箱就足够了。
<>强安装强>
<强>安装潮流拓展强>
git克隆https://github.com/tideways/php-xhprof-extension.git cd php-profiler-extension phpize ./configure 使,,使安装
在php。ini中加入
=tideways_xhprof延伸。所以
重启php-fpm
服务php-fpm重启
<强>工具包安装强>
去github.com/tideways/toolkit #安装graphviz # macOS 酿造安装graphviz # ubuntu sudo apt-get安装- y graphviz
设置别名
别名tk=工具包
<>强潮流+工具箱
强>
<强>代码埋点强>
在程序入口中加入
如果(extension_loaded (& # 39; tideways_xhprof& # 39;)) { tideways_xhprof_enable (TIDEWAYS_XHPROF_FLAGS_CPU | TIDEWAYS_XHPROF_FLAGS_MEMORY); }//你的代码 应用程序(); 如果(extension_loaded (& # 39; tideways_xhprof& # 39;)) { $ data=https://www.yisu.com/zixun/tideways_xhprof_disable (); 写入 sprintf (' % s/应用程序。xhprof”、“/道路/去”), json_encode(元数据) ); }
执行下代码,然后就会生成/道路//应用程序。xphrof
<>强性能分析强>
tk analyze-xhprof/道路//应用程序。xphrof
默认性能分析的指标是wt_excl,其他的指标有
1。wt调用时长,包括子函数
2。excl_wt调用时长,不包括子函数
3。cpu cpu调用时长,包括子函数
4。excl_cpu CPU调用时长,不包括子函数
5。内存内存消耗(字节),包括子函数
6。excl_memory内存消耗(字节),不包括子函数
7。io io时长,包括子函数
8。excl_io io时长,不包括子函数
<强>生成性能瓶颈图强>
tk generate-xhprof-graphviz/路径//app.xhprof 点-Tpng callgraph。点比;callgraph。png
<强>显示的指标有强>
1。函数名
2。公司函数运行时间,包括子函数
3。Excl函数运行时间,不包括子函数
4。总电话总调用次数