nginx limit_req_zone速率限制不起作用

时间:2015-04-07 08:00:25

标签: nginx

limit_req_zone率并没有像我想的那样工作。无论我设置多少,它仍然可以作为速率= 1r / s。

我的nginx.conf:

    limit_req_zone $binary_remote_addr zone=lwrite:10m rate=300r/s;
    ...
    limit_req zone=lwrite burst=5;

阅读此文档后(http://nginx.org/en/docs/http/ngx_http_limit_req_module.html),I认为我的nginx应该只在ip访问超过300r / s时延迟请求,并在访问超过305 / s时返回5xx。

但是,如果我运行test: ab -c 12 -n 12&#39; 127.0.0.1:8090 / index.html?_echo = abc&#39; ,输出为:< / p>

   Concurrency Level:      12  
   Time taken for tests:   0.051 seconds  
   Complete requests:      12  
   Failed requests:        6  
     (Connect: 0, Receive: 0, Length: 6, Exceptions: 0)  
   Write errors:           0  
  Non-2xx responses:      6  

我在nginx error.log中发现了5个警告和6个错误,结果只是第一次访问成功,接下来的5次是延迟,最后6次返回错误。因此,无论我设置多高,它仍然可以作为rate = 1r / s。

为什么呢?有没有人遇到同样的问题?我的nginx版本是1.5.13和1.7.11

0 个答案:

没有答案