首页 > IT职业 > IT职场 > 如何让服务在流量暴增的情况下保持稳定输出
计算CPU负载时使用滑动平均来降低CPU负载抖动带来的不稳定,关于滑动平均见参考资料
时间窗口机制,用滑动窗口机制来记录之前时间窗口内的QPS和RT(response time)
满足以下所有条件则拒绝该请求
当前CPU负载超过预设阈值,或者上次拒绝时间到现在不超过1秒(冷却期)。冷却期是为了不能让负载刚下来就马上增加压力导致立马又上去的来回抖动
averageFlying > max(1, QPS*minRT/1e3)
averageFlying = MovingAverage(flying)
在算MovingAverage(flying)的时候,超参beta默认取值为0.9,表示计算前十次的平均flying值
取flying值的时候,有三种做法:
我们使用的是第二种,这样可以更好的防止抖动,如图:
QPS = maxPass * bucketsPerSecond
1e3表示1000毫秒,minRT单位也是毫秒,QPS*minRT/1e3得到的就是平均每个时间点有多少并发请求
dropreq关键字来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2370/viewspace-2826441/ ,如需转载,请注明出处,否则将追究法律责任。