对于资源热度集中、请求并发高的业务场景,如电商大促等,开启合并回源能够提升缓存命中率,减少回源压力。
功能介绍
多个用户并发请求同一个在 CDN 节点没有缓存命中的资源时,所有请求均会触发回源,导致回源带宽以及连接数飙升,当源站存在性能瓶颈时,可能会出现源站响应慢或响应失败的问题,最终影响用户访问体验。
合并回源即同一时刻同一资源的多个请求,在节点无缓存时,仅回源一次,其它用户则等待回源请求的响应。该功能可以有效缓解源站压力,提升用户访问命中率。
如下图所示,3个用户同时向同一节点请求同一资源,会由主请求回源拉取资源,其它子请求则进入等待队列。当主请求收到源站响应后,将数据吐给主请求的用户,并缓存在 CDN 节点。同时,通知等待队列中的所有子请求,这些子请求将从缓存中读取数据,再响应给子请求对应的用户。
注意事项
- 仅针对 200/206/304 状态码的响应进行合并回源;
- 源站返回 cache-control: no-cache、no-store、private 以及 pragma:no-cache 等指定 CDN 节点不能缓存时, 不进行合并回源;
- 源站返回 chunked 传输的场景,不进行合并回源;
- 仅 GET 请求方法才会进行回源合并;
- 当源站返回的 HTTP 响应头部,既不包含有 content-length,也不包含有 transfer-encoding 时,不会进行合并回源;
- gzip, br 等压缩请求,不会进行合并回源。
配置说明
- 登录 CDN 控制台;
- 单击左侧菜单内的域名管理,进入域名管理列表;
- 选择需要配置的域名,单击管理进入域名配置页面;
- 单击回源配置,切换至回源配置标签页,在标签页中,即可看到合并回源配置项;
- 合并回源配置,默认为关闭状态,您可以根据业务情况按需开启。
配置示例
开启合并回源。
本页内容是否解决了您的问题?