PHP性能分析之xdebug+webgrind
Xdebug是一个开放源代码的PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。这里仅说明用来对php运行状态的使用说明。
xdebug安装
- 运行
php -m
查看是否已安装xdebug
扩展,已安装则跳过当前步骤 - 源码地址:https://github.com/xdebug/xdebug
- 编译完成后编辑
php.ini
文件,添加如下
; 引入xdebug扩展
extension=xdebug.so
; 配置xdebug
[xdebug]
; 自动生产分析文件
xdebug.profiler_enable=0
; 启用触发,url添加参数XDEBUG_PROFILE才会生成分析文件
xdebug.profiler_enable_trigger=1
; 分析文件储存路径(默认/tmp)
; xdebug.profiler_output_dir = "/tmp/xdebug"
; 分析文件名称
; xdebug.profiler_output_name=cachegrind.out.%p
- 重启
php-fpm
或apache
以生效
webgrind安装
webgrind
只需引入即可- 源码地址:https://github.com/jokkedk/webgrind/
- 配置
nginx
或放入项目中
使用
-
请求接口,添加参数
XDEBUG_PROFILE
,会在指定路径中生成一个文件 -
打开
webgrind
-
选好参数后点击
update
如下图
参数说明
- show 90%:要显示耗时比率,最好不要选100%,会卡。相当于显示出比较耗时的方法
- Invocation Count:被调用执行的次数
- Total Self Cost:自身耗时
- Total Inclusive Cost:综合耗时
- 比例条:蓝色(内置函数),灰色(引入文件),青色(自定义函数),橙色(过程执行所占时间的比例)