关于PHP+xdebug分析代码性能瓶颈

发布时间:2022-05-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了关于PHP+xdebug分析代码性能瓶颈脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP + xdebug 分析代码性能瓶颈

通常启用了xdebug插件,性能测试输出文件会伴随生成,通常是以cachegrind.out.xxxx 文件存在。

该文件可以通过第三方工具来进行代码性能分析。

但如果本地有多个项目/网站,所有的PRofile 都输出到一个文件中了,这样并不方便后面进行性能分析。

自定义profile 文件名称

可以通过配置xdebug.profiler_output_name 参数来设置输出文件名称,部分参数如下:

@H_406_25@符号
含义配置样例样例文件名
%c当前工作目录的crc32校验值cachegrind.out.%ccachegrind.out.1258863198
%p当前服务器进程的pidcachegrind.out.%pcachegrind.out.9685
%r随机数cachegrind.out.%rcachegrind.out.072db0
%s脚本文件名(注)cachegrind.out.%scachegrind.out._home_httpd_htML_test_xdebug_test_php
%tUNIX时间戳(秒)cachegrind.out.%tcachegrind.out.1179434742
%uUnix时间戳(微秒)cachegrind.out.%ucachegrind.out.1179434749_642382
%H$_SERVER['HTTP_HOST']cachegrind.out.%Hcachegrind.out.localhost
%R$_SERVER['REQUEST_URI']cachegrind.out.%Rcachegrind.out._test_xdebug_test_php_VAR=1_var2
%Ssession_id (来自$_COOKIE 如果设置了的话)cachegrind.out.%Scachegrind.out.c70c1ec2375af58f74b390bbdd2a679d
%%%字符cachegrind.out.%%cachegrind.out.%%

编辑php.ini 配置文件:

xdebug.profiler_output_name = cachegrind.out.%H

然后重启 php server。

在Mac 下,profile 文件存放/var/tmp/目录中。

性能分析

在Mac 下,有MacCallGrind 和 qcachegrind 可以使用,不过前者是收费,直接通过Apple Store下载,后者是免费。需要手动安装

安装graphviz,用来Call Graph功能:

$ brew install graphviz

安装 qcachegrind:

$ brew install qcachegrind

安装完成之后,就可以打开 qcachegrind 应用了,图形界面如下:

b10ece112acd8ede7f3f82fd12dc73f.png

其他

不过需要注意,开启了profile文件输出之后,如果本地项目多的话,很容易占用磁盘大面积空间,下图是我年左右没有清理的状态:

50caf8c81d77d3a7624b73114270df3.png

可以使用命令进行清理:

$ sudo rm -fr /private/var/tmp/cachegrind.out.*

以上就是关于PHP+xdebug分析代码性能瓶颈的详细内容,更多请关注脚本宝典其它相关文章

脚本宝典总结

以上是脚本宝典为你收集整理的关于PHP+xdebug分析代码性能瓶颈全部内容,希望文章能够帮你解决关于PHP+xdebug分析代码性能瓶颈所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:php