6. Alibaba Sentinel 流控效果之预热Warn Up

名词解释预热Warm Up

Warm Up:根据coldFactor(冷加载因子,默认3)的值,从阈值/codeFacotor,经过预热时长,才达到设置的QPS阈值

官网手册地址:flow-control

概念:Warm Up方式,即预热/冷启动方式。该方式主要用于系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮的情况。

预热公式:初始阈值= 设定阈值/coldFactor(默认值为3),经过预热一段时间后才会达到设定的阈值。

预热的访问过程系统允许通过的QPS曲线如下图:

设置图如下

使用场景:一般秒杀系统中会有这样的流控设置,为了防止秒杀瞬间造成系统崩溃。

使用案例

上图的设置表示: 访问/testA资源时, 一开始阈值是 10(设定单机阈值)/3 (coldFactor默认3),经过30秒的预热后才能到达设定阈值30 的效果。

查看效果

为了能查看到QPS阈值有一个慢慢上升的过程,我们需要保持一个快速的访问。 这时我们可以使用ApacheJMeter 多线程循环访问来达到这个目的。

  1. 设置线程组,需要循环永远

  2. 设置HTTP请求

  3. 设置请求间隔时间,这里设置30毫秒,保证请求的QPS在30以上,只有这样刚开始的部分流量才会被拦截,过30秒后保持在30以内的QPS

运行Jemter查看流控效果:

上图蓝色线为被流控的请求 绿色线为通过的请求

通过上图可以看出, 在一开始的时候, 通过的QPS为10,被拦截的请求有20多, 慢慢的通过的请求就增加上去,拦截的请求越来越少。 最后通过30秒的事件, 通过的QPS稳定在30以内。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值