Hello,
I’m seeing some undocumented behavior when using limit_req and
limit_req_zone. It seems that connections that should be delayed are
actually being truncated in the middle. I see this using multiple
clients both as errors in the clients and by inspecting the actual file.
I found a reference to another user seeing this here: Nginx 0.7 and limit_req - NGINX - Ruby-Forum but I don’t see anything there to
help stop it.
I have configured my zone for now exactly as the docs:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
and my location as:
limit_req zone=one burst=5000;
I run a series of file transfers and it cuts off at the same truncated
file regardless if the burst is 5, 50, or 5000
I’m running .7.62 on RHEL.
Any suggestions on how to avoid the truncated files, and why the burst
level seems to not have any effect?
It seems that if I set the burst number low enough to trigger 503’s with
my tests, the system continuously returns 503 until i restart nginx. Is
this another known bug?
On Tue, Sep 29, 2009 at 12:11:02AM -0400, brianf wrote:
Just a follow up to some more observed behavior:
It seems that if I set the burst number low enough to trigger 503’s with my tests, the system continuously returns 503 until i restart nginx. Is this another known bug?
Current implementation counts requests against rate limit even if
it returns 503. So if you have
limit_req_zone ... rate=1r/s;
limit_req burst=10;
and did 100 requests at a time (90 of which returned 503) - you
have to wait 100 seconds until next request will be allowed.