使用 XDebug + Webgrind 进行 PHP 程序性能分析

时间:2022-07-26
本文章向大家介绍使用 XDebug + Webgrind 进行 PHP 程序性能分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

# 准备

  • 安装 XDebug 扩展
  • 开启 Profiler 性能跟踪器;php.ini xdebug.profiler_enable = 1 xdebug.profiler_enable_trigger = 1
  • 下载 Webgrind

# Webgrind

因为 Profiler 生成的性能记录文件的格式,不是给人看的,所以需要 Webgrind 图形界面的分析工具

Webgrind 本质上是一个 PHP 网站程序

# 使用

在需要分析的 Url 后面接上 ?XDEBUG_PROFILE,例如:http://localhost:8000/?XDEBUG_PROFILE

然后刷新 Webgrind 网页,最新的数据就会显示

# 选项

# Show 90%

所有被调用的函数和方法由高到低排序,然后取出耗时比率之和在 90%~100% 之间的前 N 个

# of Auto(newest)

选择生成的 Profiler 文件,默认是最新一次的 XDebug 分析记录

# in percent

显示百分比、毫秒或微秒

# 四色胶囊条

  • 蓝色:PHP 内置函数
  • 灰色:require/include
  • 绿色:方法
  • 橙色:自定义函数

# Invocation count

表示整个 PHP 页面从载入到执行完毕,函数被调用的总次数

# Total Self Cost

表示自身从开始到执行完毕所用消耗(不包括其他函数消耗)

# Total Inclusive Cost

表示自身从开始到执行完毕所用消耗(包括其他函数消耗)

# Calls

表示自身调用并执行的所有函数/方法名、次数及耗时

# Total Call Cost

表示被调用执行的总耗时

# Count

表示被调用执行的次数

# 总结

对公司现后台分析,果然,最耗时的还是数据库部分