0%

使用 XDebug 和 WinCachegrind 分析代码运行速度

在一次请求中,代码可能执行了数万行,很难去轻易定位代码执行效率的瓶颈。因此,需要使用 XDebug 去记录请求中各方法的执行时间来精准分析究竟是哪一行的代码执行地很慢。

我司的代码每次在我电脑上运行都要数十秒甚至一两分钟,因此我不得不去分析代码执行的速度,也刚好在这里做个示例

修改 XDebug 配置文件

1
2
3
xdebug.profiler_enable=on
xdebug.trace_output_dir="D:\webserver\xdebug"
xdebug.profiler_output_dir="D:\webserver\xdebug"

下载 wincachegrind

下载地址

运行 PHP 代码并得到输出

Clipboard Image.png

打开对应的输出文件

image.png

然后层层点击进去就可以查看到运行最慢的方法并动手去优化他了。