Jacky's Blog Jacky's Blog
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习
  • 1
  • 3

使用 xhprof 分析 WordPress 性能

Jacky
1 1 月, 2019

记录一下9月份发生的事情。

之前发现博客响应速度突然变得非常缓慢,有时甚至响应时间超过了 3000ms,然而又没法定位到出现问题的函数,只能进行简单的排查(关闭插件、更换主题),终于在更换回 Grace 之后响应速度又恢复了,于是将问题定位到 Cosy 的身上,因为这款主题的 functions.php 是加密的,我没有办法进行深入调查,于是直到前两周,我找到了这款工具 —— xhprof

据说是 Facebook 拿来做线上测试的工具,遂立即部署之。

然而这个工具也是个大坑,原版代码不支持 php7.2,WordPress 下没有合适的插件。

终于经过我搜索 GitHub 之后找到了最佳的组合方式。

时隔三年,本文再次于2021年8月25日修订,本次带来可支持 php7, php8 的版本:https://github.com/0xJacky/wp-xhprof

于是 xhprof 及 wp-xhprof 插件就部署上了,打开插件后,在页面的底部会生成指向分析报告的 Profiler output

使用 xhprof 分析 WordPress 性能-Jacky's Blog
xhprof 报告

点击 View Full Callgraph 我们还可以得到每个函数加载的时间

使用 xhprof 分析 WordPress 性能-Jacky's Blog
某个函数与之相关联的函数的加载的时间

根据报告,我们可以发现 get_public_ip() 这个函数的加载时间竟花费了 3428ms,然后搜索关键词,迅速定位到问题的原因并重写了这个函数,问题解决了。网站的加载时间重回 <1s。

文章最后修订于 2021年8月25日

1
本文系作者 @Jacky 原创发布在 Jacky's Blog。未经许可,禁止转载。
二实停水生存日志
上一篇
自定义 Gutenberg 编辑器样式
下一篇

评论 (3)

再想想
  • Tony

    最近访问确实很慢,有的时候甚至打不开

    6 年前
    • Jacky

      @Tony: emmm 这个问题其实是去年9月份左右发现的 并在9月底修复了 没想高三这么快就过了几个月 这篇文章一直都没发出来
      你说网站卡这哥暂时不清楚什么问题,因为我前不久升级了服务器的配置,而且也通过 xhprof 测试了性能,并没有发现你说的问题
      如果哪天上不来了 麻烦 发一下ping的数据

      6 年前
    • Tony

      @Jacky: 怪不得更新得如此缓慢,《更换 iPhone 5 电池》还是2018-09-16的

      6 年前

近期评论

  • Jacky 发表在《Nginx UI》
  • kim 发表在《Nginx UI》
  • Jacky 发表在《留言板》
  • 菜鸟 发表在《留言板》
  • merlin 发表在《留言板》
3 1
Copyright © 2016-2025 Jacky's Blog. Designed by nicetheme.
粤ICP备16016168号-1
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习

搜索

  • Mac
  • Apple
  • OS X
  • iOS
  • macOS
  • Linux
  • 阿里云
  • WordPress
  • 运维
  • macOS Sierra

Jacky

Go Python C C++ | 弱冠之年 | 物联网工程
183
文章
193
评论
267
喜欢