功能说明
分段缓存功能使得缓存的基本单位变成了块,并且在缓存块大小以及回源请求大小上可以采用不同粒度进行控制,最终实现按块缓存,按需回源。
开启该功能可有效降低大文件回源率,也可以提高文件在 CDN 节点的缓存命中率,同时避免了拉取完整文件导致的源站带宽浪费。特别地,开启该特性之后,CDN 节点会以 Range 请求回源。
配置引导
登陆 CDN 控制台,依次进入:服务 > 功能配置 > 缓存配置 > 分段缓存。如下图所示:
如上图所示,点击【确定】即可开启。
配置效果
假设最终用户发起了资源请求,请求的 URL 为:http://www.example.com/download/game.zip
,CDN 节点收到请求后,若命中则响应对应分段文件给最终用户,未命中的分段 CDN 节点则回源发起 Range 请求获取资源文件。
1.开启分段缓存
- 若最终用户发起资源请求,CDN 节点上已经命中该分段,则直接响应给最终用户
- 若 CDN 节点未命中缓存,则 CDN 节点回源使用 Range 请求,分段获取资源文件
2.关闭分段缓存
- 节点文件缓存过期之后,会向源站获取整个资源文件
3.分段缓存预加载
- 开启分段缓存功能之后,该特性会默认开启。当最终用户请求第一个分段文件时,CDN 会提前去下载后面几个分段文件,进而提高文件下载速度。
注意事项
- 源站需要支持 Range 请求,否则会导致回源失败;严格来说,我们只通过
Accept-Ranges: bytes
这个头来判断源支不支持 Range 请求 ,否则即使开启了分段缓存特性,也不会生效; - 该功能配置后不会立即生效,需在文件缓存过期或者文件缓存被主动刷新之后方可生效
- 该功能开启后,资源在 CDN 节点上会进行分段缓存,如果要立马关闭该特性,可通过手动刷新文件来解决;
- 如果您已经使用又拍云对象存储服务,该特性已经默认开启,无需做任何配置;