接入攻击防护节点后,用户流量会先经过节点清洗,再由节点向源站请求未缓存或需动态生成的内容。因此,攻击防护节点的源站回源带宽预留方法,不能简单照搬网站总出口峰值:图片缓存命中率高的业务,与每次请求都要查询数据的接口,回源需求差别很大。
先划清要预留的带宽范围
这里的“回源带宽”主要指源站向防护节点返回内容所需的出口能力。规划时还要单独核对节点到源站的请求方向、源站多线路或多地域的分流方式,以及是否存在绕过防护节点的访问入口。若部分用户或任务仍直接访问源站,这部分流量也会占用源站出口,不能从账面估算中漏掉。
先确认防护服务是否提供缓存、缓存规则覆盖哪些路径,以及动态内容是否会被缓存。静态图片、安装包等对象可能由缓存直接响应;登录、搜索、订单查询等动态请求通常仍需回源。缓存配置改变后,源站带宽需求也可能随之变化。
按四步估算并预留容量
- 取业务峰值,而非日均值。查看代表性高峰时段的源站出口流量和请求量,至少区分静态资源与动态接口;同时核对防护节点的回源流量统计。采样可先用 1 分钟粒度观察短时突增,再用 5 分钟或更长窗口判断持续负载。平稳期的数据不能替代高峰数据。
- 估算未命中部分。对缓存资源,用“请求量 × 平均对象大小 × 未命中比例”粗算回源字节量;对动态请求,则结合各接口响应大小和实际调用量估算。若缓存命中率不稳定,应按较低命中率做保守情景,而不是直接采用最好的时段。
- 把数据换算成带宽。将每秒回源字节数乘以 8,得到 bit/s。比如估算结果为每秒 10 MB,理论上约为 80 Mbps;这只是平均需求,尚未计入并发波动、协议开销和其他共享出口的业务。若有多个源站,应按实际分流比例分别核算,不能只看总和。
- 加入余量并确认可用能力。可把测得的高峰需求作为基线,在流量较平稳时先按约 20%—30%增加规划余量;突发明显、缓存命中易下降或测量周期较短时,需采用更保守的余量并进行压测验证。这是初始规划区间,不是所有业务适用的固定值。还应确认云主机规格、网卡上限、实例出口限制和共享链路限制,避免带宽套餐充足但实际路径受限。
用场景校验计算结果
静态资源占比较高
例如公开的图片和软件下载页面,若缓存规则覆盖充分,攻击防护节点可直接返回大量命中对象,源站回源带宽主要由缓存未命中、首次访问和内容更新时的请求决定。此时应观察缓存命中变化,并确认大文件更新是否会引发集中回源;不要仅按用户下载总流量配置源站出口。
动态请求占比较高
例如需要实时查询库存或生成个性化页面的服务,响应通常要由源站处理,缓存不能像静态对象那样显著减轻回源。应按动态请求高峰和响应大小估算,并把同一时段的管理操作、备份传输等源站出口占用一并计入。对请求量波动大的接口,先单独测量其峰值,再与其他业务相加。
上线后按数据逐步调整
- 保存接入前后的源站出口基线,并记录防护节点的回源带宽、缓存命中情况和源站响应状态。
- 在正常高峰及计划内的压力测试中观察持续带宽与短时峰值;测试应设置在可控环境,避免把真实攻击流量当作容量测试。
- 若出口长期接近可用上限,或流量突增时出现响应变慢,应先查清是缓存未命中增加、动态请求变多,还是共享链路被其他任务占用,再调整缓存、分流或带宽。
- 业务内容、缓存规则、源站数量或防护策略变更后重新核算,并在变更记录中注明测量时段与条件。
常见问题
预留值要按攻击流量计算吗?
通常不直接按攻击流量预留源站带宽;应按防护后仍会转发的合法请求和可能漏过的流量评估,并核对服务的清洗与回源机制。
买到的带宽就是源站实际可用带宽吗?
不一定。实例、网卡、云平台出口策略或共享链路都可能形成限制,应核实实际路径上的瓶颈。
多久复核一次预留值?
可在接入初期、高峰业务阶段及缓存规则变更后复核;流量稳定时也应按运维周期检查,具体周期取决于业务变化速度。
多个源站怎样分配容量?
按节点实际回源分流比例分别估算,并考虑单个源站故障后流量转移到其他源站的情形。攻击防护节点的源站回源带宽预留方法,最终要由实测流量、缓存策略和故障切换方案共同校准。