很多个人站点跑在 1核2G 的小机器上,页面打开要三四秒。大多数时候瓶颈不在带宽,而在「每次访问都要查数据库、渲染模板」。把这两件事砍掉,同样的机器能有几倍的提升。
第一层:对象缓存
以 WordPress 为例,装一个 Redis 对象缓存插件(如 Redis Object Cache),把数据库查询结果缓存到 Redis 里。重复访问时直接命中内存,不再查库。
关键配置有两个:
- maxmemory:按内存的 1/4 分配,比如 2G 机器给 512MB
- maxmemory-policy:设
allkeys-lru,内存满了淘汰最久未用的
改完 redis-cli info stats 能看到命中率,正常应该在 85% 以上。低于 70% 说明缓存策略有问题。
第二层:页面静态化
缓存查询还不够,模板渲染本身也耗时。这一步要把「最终生成的 HTML」缓存起来。
两种做法:
- 插件方案:WP Super Cache、LiteSpeed Cache,生成静态 HTML 直接返回
- 反向代理方案:Nginx 加
fastcgi_cache或proxy_cache,缓存层前置
Nginx 缓存配置的核心参数:
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=mycache:10m max_size=1g inactive=60m;
注意一点:登录用户、购物车、评论区不要缓存,否则会出现「看到别人的数据」这类严重问题。用 cookie 判断跳过。
第三层:静态资源
图片、CSS、JS 这些不常变的东西,交给 CDN 或者设置长期缓存头:
location ~* \.(js|css|png|jpg|webp|woff2)$ {
expires 30d;
add_header Cache-Control "public, max-age=2592000";
}
再配合图片压缩(WebP 格式、适当分辨率),首页体积能从几 MB 降到几百 KB。
第四层:数据库
顺手做两件事:
- 给常用查询字段加索引(比如 wp_posts 的 post_status + post_type 组合索引)
- 定期清理修订版本、垃圾评论、过期 transient
老站点往往积累了几千条修订版本,数据库膨胀到几百 MB,查询自然慢。
效果参考
一套组合拳打下来,同样 1核2G 的机器:
- 首页 TTFB:从 800ms 降到 80ms
- 首屏加载:从 3.5s 降到 0.9s
- 并发能力:从几十涨到几百
最后提醒
优化有顺序:先缓存,再静态化,最后才是硬件升级。很多人一卡就升配置,其实是花冤枉钱——数据库查询没优化,换多大的机器都白搭。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END












![囧次元[樱花动漫]去广告纯净版 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2023/01/7ef194ec378b-1024x768.jpg)

![[电脑软件]抖音采集/下载工具TikTokDownloader 5.3 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2024/05/20240510151922787-234818cqqjoo83p5s2us3e-1024x516.png)







暂无评论内容