PHP7下如何安装并使用xhprof性能分析工具

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

PHP7下如何安装并使用xhprof性能分析工具

本篇文章给大家介绍一下PHP7下安装并使用xhprof性能分析工具的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

该 xhprof 版本是从 https://github.com/longxinH/xhprof 获取

git clone https://github.com/longxinH/xhprof
登录后复制安装 xhprof
cd xhprof/extension/phpize./configure makemake install
登录后复制

然后在/etc/php.ini中根据情况加入

extension=xhprof.so
登录后复制

执行

php -m | grep xhprof
登录后复制

可以看见输出,说明php扩展安装成功,然后重启Apache或者php-fpm

运行

可以直接运行从github上clone下来的文件里面example目录下的那个例子

输出如下

Array(    [main()] => Array        (            [ct] => 1            [wt] => 9        ))---------------Assuming you have set up the http based UI for XHProf at some address, you can view run at http://<xhprof-ui-address>/index.php?run=592567308784c&source=xhprof_foo---------------
登录后复制

然后复制index.php后面的?run=592567308784c&source=xhprof_foo

访问

xhprof_html/index.php?run=592567308784c&source=xhprof_foo
登录后复制

可看见输出

点击中间的 View Full Callgraph 即可看见性能分析图片

报错
failed to execute cmd:" dot -Tpng". stderr:sh: dot:command not found。
登录后复制
//解决方案yum install graphviz
登录后复制随机应变

比如想测试自己的项目,例如一款框架的性能分析。

复制xhprof_lib/utils/下的两个文件

xhprof_lib.php和xhprof_runs.php到入口文件同级目录,然后在入口文件起始位置添加

// start profilingxhprof_enable();
登录后复制

结束位置添加

// stop profiler$xhprof_data = xhprof_disable();// display raw xhprof data for the profiler runprint_r($xhprof_data);include_once "xhprof_lib.php";include_once "xhprof_runs.php";// save raw data for this profiler run using default// implementation of iXHProfRuns.$xhprof_runs = new XHProfRuns_Default();// save the run under a namespace "xhprof_foo"$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");echo "---------------\n".     "Assuming you have set up the http based UI for \n".     "XHProf at some address, you can view run at \n".     "http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n".     "---------------\n";
登录后复制

即可得到如上所示的那个url,然后再次去访问

cd xhprof/extension/phpize./configure makemake install0
登录后复制

得到如下所示页面

查看图片

图中红色的部分为性能比较低,耗时比较长的部分,我们可以根据根据哪些函数被标记为红色对系统的代码进行优化

补充

Function Name:方法名称。

Calls:方法被调用的次数。

Calls%:方法调用次数在同级方法总数调用次数中所占的百分比。

Incl.Wall Time(microsec):方法执行花费的时间,包括子方法的执行时间。(单位:微秒)

IWall%:方法执行花费的时间百分比。

Excl. Wall Time(microsec):方法本身执行花费的时间,不包括子方法的执行时间。(单位:微秒)

EWall%:方法本身执行花费的时间百分比。

Incl. CPU(microsecs):方法执行花费的CPU时间,包括子方法的执行时间。(单位:微秒)

ICpu%:方法执行花费的CPU时间百分比。

Excl. CPU(microsec):方法本身执行花费的CPU时间,不包括子方法的执行时间。(单位:微秒)

ECPU%:方法本身执行花费的CPU时间百分比。

Incl.MemUse(bytes):方法执行占用的内存,包括子方法执行占用的内存。(单位:字节)

IMemUse%:方法执行占用的内存百分比。

Excl.MemUse(bytes):方法本身执行占用的内存,不包括子方法执行占用的内存。(单位:字节)

EMemUse%:方法本身执行占用的内存百分比。

Incl.PeakMemUse(bytes):Incl.MemUse峰值。(单位:字节)

IPeakMemUse%:Incl.MemUse峰值百分比。

Excl.PeakMemUse(bytes):Excl.MemUse峰值。单位:(字节)

EPeakMemUse%:Excl.MemUse峰值百分比。

推荐学习:php视频教程

以上就是PHP7下如何安装并使用xhprof性能分析工具的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:nodejs搭建sip服务器
下一篇:laravel如何生成控制器

发表评论

关闭广告
关闭广告