调查仅后端WordPress性能瓶颈
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/investigate-backend-only-wordpress-performance-bottlenecks。
技能介绍
先说清楚要解决什么问题
WordPress 站点变慢时,第一反应往往是打开浏览器反复点击,凭感觉判断「哪个页面卡」。但在后端驱动的排查场景里,这种方法既不可复现,也难以定位真正原因。实际的慢可能来自多个层面:
- 某个页面的执行时间异常,但前端只是渲染慢,问题其实在 PHP 执行与数据库查询
- REST 接口(如 /wp-json/wp/v2/posts)响应膨胀,payload 里有大量无用字段
- 定时任务(cron)在高峰期抢占资源,或单次执行时间失控
- wp_options 表被 autoload 字段撑大,每次请求都加载无关配置
- 某次请求触发了成百上千条 SQL,缺少索引或存在 N+1 查询
这些现象的共同特点是:不依赖浏览器就能观测和验证。只要能从服务器侧拿到请求耗时、SQL 执行、opcache 命中率等数据,就能把范围从「整个站点」缩小到「某个端点、某条查询、某次任务」。
这个技能如何工作
技能的核心思路是从后端向外看,把一次慢请求拆成可测量的环节,而不是靠猜测。主要能力包括:
- 入口识别:通过 curl、服务端日志或 WP-CLI 收集慢请求的入口点,区分是页面路由、REST 端点还是 cron 触发的代码路径
- 执行时间拆解:借助 Query Monitor 或等效 profiler 工具,分离 PHP 执行、数据库查询、HTTP 外部请求各自的耗时占比
- 查询审计:逐条检查 SQL,识别缺失索引、全表扫描、重复查询和 autoload 元数据带来的隐式开销
- 范围收敛:每轮测量后缩小嫌疑范围,而不是一次性铺开所有可能原因
典型排查顺序是:先确认慢在哪个入口,再看该入口的耗时构成,最后定位到具体查询或代码段。每一步都有可重复验证的数据支撑,避免「改一行试试看」式的盲目调试。
适用边界与注意点
- 前提依赖:需要能访问目标站点的服务器侧环境,至少具备 WP-CLI、curl 和日志读取权限;Query Monitor 与 profiler 工具可选但强烈建议
- 不解决前端瓶颈:CSS/JS 体积、首屏渲染、CDN 配置等前端问题不在此技能范围内
- 不替代长期监控:它用于主动排查,不是持续性能监控方案
- 改动需谨慎:清理 autoload、调整 cron 频率等操作应先在预发布环境验证,避免影响插件或主题的正常运行
使用场景
- 页面打开需要好几秒,需要用服务端数据确认慢在 PHP 执行还是数据库查询
- REST 接口返回体积越来越大,需要定位响应里有哪些字段可以被裁掉
- cron 任务在高峰期导致站点变慢,需要测量每个任务的执行时间并找出元凶
- 数据库越来越臃肿,需要确认 wp_options 里的 autoload 数据是否该清理
适合人员
- 独立站技术负责人:需要在没有前端调试环境时,从服务器侧定位页面变慢的真正原因
- 后端工程师:需要审计 REST 接口的响应结构和 SQL 查询次数,给出可落地的优化建议
- 运维工程师:需要在预发布环境排查 cron 任务或 autoload 膨胀是否拖慢了站点