我的configuration中的limit_req_zoneconfiguration如下:
limit_req_zone $nginx_version zone=site1:10m rate=1000r/s;
我不希望从区域site1每秒钟超过1000个请求。 我在我的位置使用这个区域如下:
location /exchange/site1/ { limit_req zone=site1 nodelay; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE_ADDR $remote_addr; proxy_set_header Host $http_host; proxy_set_header Content-Type application/json; proxy_pass http://lb-server/site1/; proxy_redirect off; }
但是,当我实际使用ngxtop来查看有多less个请求正在传递时,我发现site1实际上每秒发送大约600个请求,但其中大约一半的请求在nginx中丢失。 我的configuration有问题吗? 我应该增加内存空间吗? 我尝试了100米,但仍然看到相同的行为。 还有什么我在这里失踪,可以帮助吗?
这个问题与不指定突发值有关 。 由于这个nginx不允许并发请求通过。 所以必须指定一个最小的突发值来处理这个问题。