令牌桶限流算法最大放行量的一点疑问?

2020-05-22 11:55:38 +08:00
 iCD

用 lua + redis 做限流,使用令牌桶算法。

令牌桶容量为 25,每次填充 20 token,每次填充间隔为 1000000 微秒( 1 秒)

实际测试的时候,遇到的问题是:一秒内并发 30 次,个人理解这时应该是有 5 次请求被拦截,但是实际小于 5 次,放行次数会大于 25

当并发大于 50 之后却能稳定限制为 25,这个现象正常吗?

redis 中计算新产生的 token 是 20/1000000 * (本次微秒时间戳 - 上次微秒时间戳)

788 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/674329

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX