单请求限速功能可以对用户访问到CDN节点的所有请求进行下行速率限速。通过配置单请求限速功能,可以压制加速域名的全网带宽峰值,多用于游戏新版本发布、软件下载等场景。
注意事项
-
单请求限速会限制CDN节点向客户端发送数据的最大速率,可能影响文件下载体验,请谨慎使用。
-
如果文件小于每秒下行限速大小(如10 KB文件限速1 Mbps),限速无效。
-
文件较大时(如500 MB文件限速1 Mbps),限速效果较好。
-
单请求限速的最低值不能低于100 KB/s。
-
未引用规则引擎条件时,建议仅配置一条限速规则;若配置多条,列表中第一条规则优先生效。
-
引用规则引擎条件后,配置多条限速规则的执行顺序按所关联规则条件的优先级匹配,而非按功能自身的配置顺序匹配。
操作步骤
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击流量限制。
-
在单请求限速页签,单击添加,配置单请求限速参数。
参数
说明
默认限速
单请求限速的具体速率,最低设定为100 KB/s。
说明仅配置默认限速参数后,会对该加速域名上所有访问到CDN节点的请求进行限速。如果您还有其它限速规则需求(例如固定时间访问限速),可通过配置下述参数实现。
不限速大小
在发送了多少数据后才开始限速,默认单位是Byte,默认不限速大小为0 Byte。
自定义限速参数名称
设定自定义限速参数后,CDN节点将根据URL中提取的请求参数进行限速。
例如自定义限速参数名称设置为rate,自定义限速参数的单位选择MB,默认限速设置为200 KB/s,则URL中存在rate参数时,限速值按rate参数值(最低设定为100 KB/s)来限速,不存在rate参数时使用默认限速值200 KB/s。
自定义限速参数的单位
自定义限速参数对应限速值的单位。
限速开始时间
限速开始时间点,24小时制的整点,取值范围[0,24],小于限速结束时间,默认值为0。
全球所有的阿里云CDN节点服务器都是按照北京时间(东八区,UTC+8)来运行的,所有限速配置是按照北京时间来生效,例如:限速开始时间为20,实际是在东八区(UTC+8)时间20:00:00开始限速。如果期望对不同国家设置不同的限速开始时间,可以结合规则条件(匹配客户端所在的地理位置)来配置。
限速结束时间
限速结束时间点,24小时制整点,取值范围[0,24],大于限速开始时间,默认值为24。
全球所有的阿里云CDN节点服务器都是按照北京时间(东八区,UTC+8)来运行的,所有限速配置是按照北京时间来生效,例如:限速结束时间为22,实际是在东八区(UTC+8)时间22:00:00结束限速。如果期望对不同国家设置不同的限速结束时间,可以结合规则条件(匹配客户端所在的地理位置)来配置。
规则条件
规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。
重要引用规则条件时,按所关联规则条件的优先级匹配,而非按功能自身的配置顺序匹配。
-
不使用:不使用规则条件。
-
若需新增或编辑规则条件,请在规则引擎中进行管理。
-
-
单击确定。
配置示例
加速域名example.aliyundoc.com的限速配置如下:
其中限速速率为200 KB/s,URL参数限速为rate,不限速大小未设置,限速开始时间为0,限速结束时间为24,规则条件为不使用。
-
若用户访问
https://example.aliyundoc.com/image.jpg,则服务端按照下行速率200 KB/s响应内容。 -
若用户访问
https://example.aliyundoc.com/image.jpg?rate=100,则服务端按照下行速率100 MB/s响应内容。
常见问题
-
Q:限速配置后未生效,如何排查?配置多久生效?
CDN 限速配置通常立即生效。如果测试发现限速未生效,请排查以下原因:
-
浏览器缓存:浏览器可能使用了本地缓存而未向 CDN 节点发起新请求,建议清除浏览器缓存或更换浏览器测试。
-
分片下载(Range 请求):如果客户端使用了支持分片下载的浏览器或工具,每个分片请求会被视为独立的新请求,不限速阈值会重新计算,导致看似未限速。
-
检查响应头:建议通过检查请求的响应头信息来确认是否命中了限速策略。
-
-
Q:单请求限速的作用范围是什么?是否按 URL 独立计算?
A:单请求限速是针对单个 URL(即一个具体的请求)进行限速。不同 URL 的请求独立计算,互不影响。当某个 URL 请求发送的数据量达到设定的「不限速大小」阈值后,CDN 节点才会对该请求开始限速。
-
Q:拖拽播放视频时(Range 请求),不限速阈值是否会重新计算?
A:是的。用户拖拽播放视频时会触发新的 Range 请求(HTTP 206 状态码),CDN 将其视为一个新的请求,因此不限速阈值会从零开始重新计算,之前已累计的流量不计入新请求的限速判断。