站点是 WooCommerce,商品大概几百个,日订单量不算大但访问有明显波峰。目前移动端 LCP 在 3.5s 上下徘徊,TTFB 波动比较大,好的时候 300ms 出头,差的时候接近 900ms,服务器是 4 核 8G 的云主机,PHP 8.x + Nginx。已经装了缓存插件、图片压缩和延迟加载、数据库清理这几类优化插件,但感觉边际收益在变小。
现在有两条路:一是往服务端走,上 Nginx FastCGI Cache 加 Redis 对象缓存,把动态请求和数据库查询压下去;二是继续在插件层做组合优化,比如更激进地延迟 JS、按需加载、合并压缩资源、定期清理过期购物车和临时订单。预算和精力都有限,不太可能两边同时大改。
想请教的是这两种方案各自的适用条件。比如站点动态内容占比高、购物车和结算交互频繁时,服务端全页缓存是不是收益有限甚至容易出问题?反过来,如果主要是商品列表和详情页被反复访问,是不是服务端缓存对 TTFB 的改善更直接,而插件层更多影响 LCP 相关的渲染阶段?
另外比较担心两者叠加时的冲突:缓存插件和对象缓存会不会重复做同一件事,延迟 JS 会不会影响加购和结算的即时反馈。我希望用 TTFB、LCP 和服务器负载这几个指标来判断该先投哪一边,而不是凭感觉堆工具。想听听实际做过取舍的人怎么说,包括各自的坑和验证方法。


