NGinX速率限制没有突发

时间:2014-10-03 16:08:04

标签: nginx

我在NGinX中遇到了速率限制的异常行为。我的任务是每秒支持10个请求,而不是使用突发选项。我使用nodelay选项拒绝任何超过设定费率的请求。

我的配置是: .. http { .. limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; .. server { .. location / { limit_req zone=one nodelay; limit_req_status 503; .. } } }

我看到的行为是,如果在收到前一个请求的响应之前发送了请求,NGinX将返回503错误。我在一秒钟内只看到2个请求就会看到这种行为。

我的配置中是否缺少导致此行为的内容? 是否需要一次性服务多个请求的突发选项?

1 个答案:

答案 0 :(得分:0)

Burst像队列一样工作。没有延迟意味着请求不会在下一秒延迟。如果您没有指定队列,那么您不允许任何其他同时请求从该IP进入。该区域对每个ip生效,因为您的密钥是$ binary_remote_addr。

你需要爆发。