Range分片,指边缘安全加速 ESA节点在回源的HTTP请求里面携带了Range信息,源站在收到回源请求时,根据HTTP请求头中的Range信息返回指定范围的内容数据给ESA节点。Range分片可有效提高文件分发效率,提高缓存命中率,减少回源流量消耗和源站压力,并且提升资源响应速度。
工作原理
Range是HTTP请求头之一,可用来指定需获取的内容的范围。例如,Range: bytes=0-100
表示回源请求该文件的前101个字节的数据内容。
开启Range分片功能后,ESA收到用户的请求时,如果ESA节点上未缓存该资源或资源已过期,ESA节点回源会采用Range请求,从源站分段获取用户需要的部分资源并缓存到ESA节点上。
开启Range分片的工作原理如下图所示:
前提条件
开启Range分片前需确认源站是否支持Range请求,即HTTP请求头中包含Range字段,并且源站能够响应正确的206状态码。如果源站不支持Range请求,开启Range分片将导致资源无法缓存。
注意事项
如果客户端访问的内容为动态资源(即资源的文件后缀不在ESA节点的默认缓存文件列表中,并且ESA上也没有明确设置针对该资源的缓存策略,ESA节点的响应信息里面,缓存状态为DYNAMIC),动态资源在回源的时候不会做Range分片处理。
分片大小设置可能会影响到资源的总体命中率,以及未缓存资源的回源下载速率,因此请根据实际场景来合理设置。具体可以参考以下两个场景:
ESA节点到源站之间的回源网络性能较好(网络延迟低)的情况下,推荐使用较小的Range分片大小,这样能够确保有较高的回源下载速率,并且还能够提高缓存命中率。
ESA节点到源站之间的回源网络性能一般(例如:跨境回源或者跨大洲长距离回源,网络延迟高)的情况下,推荐使用较大的Range分片大小,这样虽然无法实现最优的缓存命中率,但是能够确保有较高的回源下载速率。
开启Range分片功能以后,导致回源的QPS升高,如果源站有设置频次控制功能,需要注意避免触发源站的限流;规避办法是开启ESA的源站防护功能,并且将ESA回源节点的IP加入源站的访问IP白名单。
操作步骤
在ESA控制台,选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择 。
单击新增规则,填写规则名称。
在如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成。
在Range分片区域,单击配置,选择跟随客户端Range请求(默认配置)、不使用Range回源或开启Range回源(大文件场景推荐配置)。
当选择跟随客户端Range请求或者开启Range回源时,可以设置分片大小。分片大小512 KB、1 MB、2 MB、4 MB,其中512 KB为默认设置。
参数名称
选项
描述
示例
回源模式
跟随客户端Range请求(默认配置)
默认为跟随客户端Range请求(默认配置)状态,当客户端使用Range请求ESA节点时,ESA节点才会采用Range请求回源。ESA节点第一次回源请求会按照用户请求中Range的大小向上取整,然后请求用户源站(此处的向上取整为分片大小的整数倍),后续的回源请求将会按照在“分片大小”参数中设置的分片大小来请求用户源站。
例如,当分片大小为512 KB时,客户端向ESA节点发起的请求中含有
Range:bytes=0-614399
(即600 KB),ESA节点第一次回源请求会按照1024 KB回源(600 KB向上取整为1024 KB),后面全部按照512 KB的分片大小回用户源站。不使用Range回源
开启不使用Range回源后,无论客户端是否使用Range请求ESA节点,ESA节点回源时都会请求整个文件,在大文件场景下的文件分发效率较低。
例如,客户端向ESA节点发起的请求中含有
Range:bytes=0-100
,则ESA节点向源站发起的请求中不会携带Range参数。源站会响应ESA节点完整文件(假设完整文件大小为10 MB,源站就会响应10 MB的文件给ESA节点),ESA节点收到源站响应的文件后,会将文件缓存下来,同时响应客户端range:0-100
的内容。开启Range回源(大文件场景推荐配置)
开启Range回源(大文件场景推荐配置)后,无论客户端是否使用Range请求ESA节点,ESA节点都会采用Range请求回源。ESA节点的所有回源Range请求都按照在“分片大小”参数中设置的分片大小来请求用户源站。
无
分片大小
512 KB
1 MB
2 MB
4 MB
回源模式为跟随客户端Range请求或开启Range回源的情况下可以设置Range分片大小,默认按512 KB生效。
1 MB
点击确定。
相关文档
规则相关的功能,在生效优先级、可重入性、生效颗粒度这三个特性上存在差异,详细情况请查看规则相关功能的特性说明。