NGINX:在爆发中设置延迟时间

时间:2013-12-20 15:40:50

标签: nginx

根据我的理解,在nginx中的limit_req中,我们将限制设置为max req / sec。在违反该限制时,进一步的请求被放入突发队列中并且延迟传送/执行。如果突发也被破坏,则用户得到503错误。(如果不需要延迟,则可以设置noday)

我无法找到的是在突发队列中设置请求的延迟时间。

我。即:如果将burst设置为30,则可以设置突发队列中两个请求之间的延迟时间。

1 个答案:

答案 0 :(得分:0)

速率决定了处理请求的速度。如果将速率设置为10r / s,则表示每0.1秒处理1个请求。

如果一次收到5个请求,并不意味着它们都会通过,因为请求少于10个。它们将排队(达到你的爆发大小),并按0.1秒顺序处理。

因此,您可以有效地设置您的费率请求之间的延迟时间。

如果您不希望事情延迟,请使用nodelay参数。

有关其工作原理的详细信息,请参阅https://www.nginx.com/blog/rate-limiting-nginx/