一种简易站点访问流控策略的设计
Posted XiaoYNil
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一种简易站点访问流控策略的设计相关的知识,希望对你有一定的参考价值。
问题引入
现有这样一种网站访问限制和需求:
1、站点对请求流量要求单个IP每秒只能进行m次请求,否则会丢出HTTP XXX错误码,
2、站点上有n个url需要不定时访问,且对于每个url x,其刷新延时为li,该值在程序生命周期内为变量,
要求设计一种访问延时策略,提高m次请求的利用率
分析
显然,当n/m小于所有li时,那么每一个请求延时只要满足li,都可以保证不会触碰到服务器的访问策略极限;
但是,当一部分li小于n/m时,就比较麻烦,
因此,假设每个请求优先级为rank,设计一种方案,将低优先级(rank值大)的请求让位给高优先级(rank值小)的请求,
故每个请求实际延时为(基于简单的线性权重函数,可以替换为复杂的priority(i)):
T为调控因子,求T的值为多少,能保证极端情况(所有的li=0)时期望值不超过n/m,即可以保证不会触碰到服务器的访问策略极限
求解
显然,求解期望值:
即
以上是关于一种简易站点访问流控策略的设计的主要内容,如果未能解决你的问题,请参考以下文章