nginx limit_req_module with upstream limit_rate

Maxim Dounin mdounin at
Wed Mar 15 12:50:46 UTC 2017


On Wed, Mar 15, 2017 at 08:47:15PM +0900, Nishikubo Minoru wrote:

> We want to limit outgoing(upstream) rate with the fixed string key among
> various virtual hosts as follows:
> limit_req_zone fixedstring zone=upstream:1m rate=5000r/s;
> server {
>   server_name vhosta;
>   logation / {

If this is an exact configuration you've tried to test with, 
you've probably tested something very different, as there is no 
"logation" directive in nginx.


> But on our test, the nginx server send to upstream server 6738 requests in
> a second.
> (The vhosta sent 3677 requests, and the vhostb sent 3061 requests)

Note that testing exact number of requests in a particular second 
doesn't really make sense as small time difference in time will 
introduce large errors.  Try measuring the average rate of 
requests for a larger period of time.

> It seems that each virtual hosts limits 5000r/s and entire nginx will
> 10000r/s.

No, this is not how it works.

> Anyway, we will set limit_req_log_level to info level.
> Does anyone know limit_req detailed log information?

Detailed information can be found in debug log, see

Maxim Dounin

More information about the nginx mailing list