使用 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
表示被调用执行的次数
# 总结
对公司现后台分析,果然,最耗时的还是数据库部分
- Philip S.Yu 讲的广度学习到底是什么?
- Kubernetes服务网格(第10部分):服务网格API
- 刚刚,同程与艺龙宣布合并!去你的大数据!
- 从蓝光到4K,腾讯视频高码率下载背后的技术
- 从开发者的角度比较IAAS与PAAS
- 图灵机器人郭家:以语义技术为核心驱动力,让机器更好地理解世界
- 静态条码设支付上限,500元封顶,海外支付尚未通知
- 如何自动地将代码从Git平台部署至组件容器
- 聂卫平说过人工智能不会取代人类 只会让我们生活的更加美好
- 万达裁员遭人大教授怒怼:员工如告了 王健林赔不少
- 习题3.13
- 谷歌数据显示比特币年度搜索量排名位居前列
- 初学者指南OpenStack:基础
- C++中指针和引用的区别
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Spring Boot 拓展SpringMVC
- Spring Boot 日志配置
- R语言进阶之图形参数
- 第04期:Prometheus 数据采集(三)
- 技术分享 | Online DDL 工具 gh-ost
- Spring Boot 整合Mybatis
- R语言进阶之时间序列分析
- Spring Boot 实现员工信息管理demo
- 如何把 Flutter 云端一体化做到极致?
- 微服务[学成在线] day16:基于Spring Security Oauth2开发认证服务
- 新的跨域策略:使用COOP、COEP为浏览器创建更安全的环境
- CVE-2020-1948:Dubbo Provider默认反序列化复现
- R语言进阶之因子分析
- Spring Boot 整合Thymeleaf
- Spring Boot 整合Shiro