【问题标题】:Ideal config for nginx rate limitingnginx速率限制的理想配置
【发布时间】:2020-06-08 12:52:00
【问题描述】:

我正在尝试使用 nginx 进行速率限制。我已经从单个服务器完成了 25k rpm 的速率限制。我当前的爆发配置是 5

当我们运行 30k rpm 进行负载测试时,可以看到 10-15k 请求被限制器丢弃。我正在考虑增加爆发值,请为这种情况建议理想的爆发值。

【问题讨论】:

    标签: nginx nginx-config rate-limiting


    【解决方案1】:

    没有理想的值,这完全取决于您的配置以及您的服务器和应用程序处理传入请求的速度。因为 NGINX 实际上以毫秒为单位跟踪请求。

    即在队列中释放空闲槽的速度。有关详细信息,请参阅此article

    我建议您不要以每分钟的请求数而是以每秒的请求数来衡量。然后你就可以选择合适的爆发值了。

    【讨论】:

    • 谢谢,是的,很少有文章帮助我了解它的工作原理。
    • Because NGINX actually tracks requests at millisecond granularity. - 我对毫秒级请求的含义感到困惑。让我们举个例子:1)1 r/s - 这是否意味着每 1000 毫秒 1 个请求,还是我需要进一步划分才能获得 1 毫秒的能力? 2) 另一个例子 - 10r/s - 这是否意味着每 100 毫秒 1 个请求?还是我需要进一步除以得到 1 毫秒的值?
    • @variable 根据上面的文章,Rate – 设置最大请求速率。在示例中,速率不能超过每秒 10 个请求。 NGINX 实际上以毫秒为单位跟踪请求,因此此限制对应于每 100 毫秒 (ms) 1 个请求。因为我们不允许突发(请参阅下一节),这意味着如果请求在前一个允许的请求之后不到 100 毫秒到达,则该请求将被拒绝。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多