性能问题
性能差 = 流失访客 + SEO 降权。每多 1 秒加载,跳出率 +30%。本节给排查路径。
| 指标 | 优秀 | 良好 | 差 |
|---|---|---|---|
| TTFB(首字节时间) | < 200ms | < 600ms | > 1s |
| LCP(主内容加载) | < 2.5s | < 4s | > 4s |
| FID(首次交互) | < 100ms | < 300ms | > 300ms |
| CLS(视觉偏移) | < 0.1 | < 0.25 | > 0.25 |
测量工具:PageSpeed Insights。
1. 站点整体慢
Section titled “1. 站点整体慢”先用 Lighthouse 测,看哪个指标差:
| 指标差 | 优化方向 |
|---|---|
| TTFB 慢 | 服务器响应慢 / 数据库慢 |
| LCP 慢 | 图片大 / 渲染阻塞 |
| FID 慢 | JS 阻塞 |
| CLS 高 | 图片没声明宽高 / 动态插入元素 |
2. 服务器响应慢(TTFB > 1s)
Section titled “2. 服务器响应慢(TTFB > 1s)”常见原因:
| 瓶颈 | 怎么查 | 优化 |
|---|---|---|
| 数据库慢查询 | 慢查询日志 | 加索引 / 优化 SQL |
| N+1 查询 | APM 看 | 让开发者批量查询 |
| 服务器配置低 | 看 CPU / 内存 | 让运维升配 |
| 没用 CDN | 看是否走 CDN | 让运维加 CDN |
| 缓存失效 | 看缓存命中率 | 让运维优化缓存 |
| 网络带宽不足 | 看带宽使用 | 让运维升带宽 |
3. 图片导致 LCP 慢
Section titled “3. 图片导致 LCP 慢”典型场景:Hero 图 5MB + 不压缩。
优化:
- 压缩:转 WebP,宽度限制 1920px
- 懒加载:除 Hero 外都
loading="lazy" - 多尺寸:手机用 800w,桌面用 1600w
- CDN:图片走 CDN
详见 上传与媒体设置 - 图片自动压缩。
4. 第三方脚本拖慢
Section titled “4. 第三方脚本拖慢”典型:GA + 客服 + Hotjar + 广告 + … 一堆脚本。
优化:
- 延迟加载(页面交互后才加载)
- 异步加载(
async/defer) - 删除无用的(每季度审计一次)
5. 数据库慢
Section titled “5. 数据库慢”症状:
- 后台列表加载 10s+
- 前台某些页加载慢
让运维查:
- 慢查询日志:哪些 SQL 超 1s
- 索引缺失:让开发者加索引
- 数据量大:分库分表(极大量场景)
6. CPU / 内存高
Section titled “6. CPU / 内存高”让运维查:
- 哪个进程占用高?
- 流量是否暴增?
- 是否被恶意爬虫 / 攻击?
应急:
- 限流(Cloudflare / Nginx)
- 临时升级服务器
- 找根因(常是死循环或大流量爬虫)
7. 慢查询排查
Section titled “7. 慢查询排查”常见慢查询:
- 列表页全表扫描(没用索引)
- 关联查询过深(N+1)
- 复杂的统计 SQL
让开发者:
- 看慢查询日志找 Top 10
- 加索引
- 优化 SQL
8. 缓存策略
Section titled “8. 缓存策略”多层缓存:
| 层 | 用途 |
|---|---|
| CDN 缓存 | 静态资源(图片、CSS、JS) |
| HTTP 缓存 | 浏览器缓存 |
| SSR 缓存 | 服务器端渲染结果 |
| 数据库查询缓存 | 重复查询 |
| 业务对象缓存(Redis) | 热数据 |
问题:
- 缓存没命中 → 命中率 < 80% 需优化
- 缓存过期太久 → 用户看到旧数据
- 缓存雪崩 → 大量缓存同时过期
让运维优化。
9. 多语言性能
Section titled “9. 多语言性能”多语言站点常见慢:
- 每页加载所有语言版本(应只加载当前语言)
- 字典 / 翻译数据全量加载(应按需)
让开发者优化为按需加载。
10. 媒体存储性能
Section titled “10. 媒体存储性能”问题:媒体文件本地存储,海外访客慢。
优化:
- 接 OSS / S3(阿里云、AWS)
- 配 CDN(Cloudflare、阿里云 CDN)
- 海外节点加速
成本:每月 ¥100-1000(按流量)。
必接的监控:
| 工具 | 用 |
|---|---|
| PageSpeed Insights | 抽样测速 |
| Lighthouse CI | CI / CD 集成 |
| Web Vitals | 真实用户性能 |
| APM(New Relic / 阿里云 ARMS) | 全链路 |
| 服务器监控(Prometheus / 云监控) | 服务器指标 |
性能优化的优先级
Section titled “性能优化的优先级”按 ROI 排:
- 图片优化(投入低、效果大)
- CDN(一次配,永久受益)
- 数据库索引(查询加速 10x+)
- 删除无用第三方脚本
- 缓存优化
- 服务器升配(最贵但简单)
设定 目标值:
- 首页 LCP < 2.5s
- 产品页 LCP < 3s
- API 响应 < 500ms
任何超出预算的代码不能上线——形成强制纪律。
- 前台显示问题 — 前端问题
- 数据统计 → SEO 数据看板 — Core Web Vitals