动态内容加速:CDN 不只是缓存

不可缓存的请求也能从 CDN 获益——握手终止、长连接复用、优选回源路径,这些都与命中率无关。

6 分钟选型指南
动态内容加速:CDN 不只是缓存

要点

即使命中率为零,CDN 仍能通过终止握手和优化回源链路改善首字节时间。API 和 SSR 页面也应该走 CDN。

本文目录
  1. 01一个常见误解
  2. 02收益有多大
  3. 03顺带一提:很多「动态」内容其实可以缓存

一个常见误解

「我的接口都是动态的,缓存不了,所以不需要 CDN」——这个推理漏掉了 CDN 提供的另外几项能力。

能力是否依赖缓存命中收益
缓存命中省流量与回源
TLS 握手终止减少昂贵的长距离往返
长连接复用省掉回源建连
优选回源路径绕开拥塞的公网路径
压缩减少传输字节

收益有多大

收益与距离成正比。用户和源站在同城时,CDN 对动态请求的改善很有限;跨大洲时,握手终止省下的往返可能占首字节时间的一半以上。

判断方法

用实测工具从目标市场分别直连源站和经过 CDN 各测一次首字节时间。差值就是动态加速的实际收益——这比任何厂商的宣传数字都可靠。

顺带一提:很多「动态」内容其实可以缓存

  • 商品列表、文章列表这类对所有人相同的接口,缓存几秒到几十秒通常完全可接受;
  • 配合 stale-while-revalidate,短 TTL 也不会有性能悬崖;
  • 真正因人而异的部分(购物车、用户信息)单独拆成接口,不要和公共数据混在一个响应里;
  • 这个拆分本身往往比接 CDN 带来的提升更大。

在你的网站验证

边缘核验对比直连源站与经过 CDN 的首字节时间