网站慢的时候,很多人第一反应是升级服务器。先把缓存配好,同一台机器能承受的访问量会高出不少。下面按“先做免费的、再做花钱的”顺序来。
一、先看瓶颈在哪
Servers → 你的服务器 → Monitoring,看最近 24 小时的三条曲线:
- 内存长期在 80% 以上:优先开对象缓存,不够再升配
- CPU 频繁打满:页面缓存没生效,或者有插件在跑重任务
- 磁盘快满:清理旧备份和日志
没有数据就调配置,多半是白忙。
二、确认用的是 Lightning Stack
Cloudways 现在有两套环境:较早的混合架构,和新的 Lightning Stack(NGINX + PHP-FPM)。官方的说法是新架构页面加载最多快 65%。
新建服务器时可以直接选 Lightning Stack。老服务器在 Settings & Packages 里查看当前架构;需要切换时,稳妥的做法是克隆一台新服务器,在克隆出来的机器上验证没问题再切流量。
三、配好 Breeze 页面缓存
Breeze 是预装的缓存插件,WordPress 后台 Settings → Breeze:
- Basic Options:开启 Cache System 和 Gzip Compression
- File Optimization:开启 HTML、CSS、JS 的 Minify。Combine 选项容易把页面样式弄乱,开了之后要逐页检查
- Preload:开启缓存预加载
每改一项就清一次缓存,用无痕窗口看看页面是否正常。
商城站点的购物车、结算、我的账户页面不能缓存。Breeze 对 WooCommerce 的这几个页面默认会排除,用了自定义地址的话要手动加进 Never Cache URL。
四、开启 Redis 对象缓存
页面缓存对登录用户和后台没有帮助,这部分靠对象缓存。
- Servers → Settings & Packages → Packages,找到 Redis,点 Install。
- 回到 WordPress 后台启用对象缓存插件。
4GB 及以上的服务器可以免费使用 Object Cache Pro(官网标注原价 $95 / 月),比普通 Redis 插件效率更高,在应用的设置页面里启用。
1GB 的服务器开 Redis 要谨慎,它本身也占内存。
五、接入 CDN
访客分布在多个国家时,CDN 能明显缩短静态文件的加载时间。两个选择:
- Cloudflare 免费版:把域名的 DNS 托管到 Cloudflare 并打开代理,不花钱,够大多数小站用
- Cloudflare Enterprise 附加服务:在应用的 Cloudflare 页面里开通,$4.99 起 / 域名 / 月,带整页边缘缓存和 WAF
小站先用免费版。流量上来、需要整页边缘缓存再考虑付费的。
六、最后才是升配
前面都做了,Monitoring 里内存还是长期吃紧,再升级:
- Servers → Vertical Scaling。
- 把滑块拖到目标规格,点 Scale Now。
升配期间服务器会重启,网站中断几分钟,挑访问低谷操作。DigitalOcean、Vultr、Linode 升上去之后不能直接降回来,按一档一档升。
各档价格见套餐价格页。