PHP + xdebug 分析代码性能瓶颈
通常启用了xdebug
插件,性能测试输出文件会伴随生成,通常是以cachegrind.out.xxxx
文件存在。
该文件可以通过第三方工具来进行代码性能分析。
但如果本地有多个项目/网站,所有的profile 都输出到一个文件中了,这样并不方便后面进行性能分析。
自定义profile 文件名称可以通过配置xdebug.profiler_output_name
参数来设置输出文件名称,部分参数如下:
编辑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
应用了,图形界面如下:
不过需要注意,开启了profile
文件输出之后,如果本地项目多的话,很容易占用磁盘大面积空间,下图是我半年左右没有清理的状态:
可以使用命令进行清理:
$ sudo rm -fr /private/var/tmp/cachegrind.out.*
以上就是关于PHP+xdebug分析代码性能瓶颈的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)