nginx limit_req_module with upstream limit_rate

Nishikubo Minoru minoru.nishikubo at lyz.jp
Wed Mar 15 14:19:01 UTC 2017


> 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.

Oh, location is correct.

http {
  limit_req_zone fixedstring zone=upstream:1m rate=5000r/s;
}

server {
  server_name vhosta;
  location / {
    limit_req zone=upstream burst=25;
    proxy_pass http://some_upstream;
  }
}
server {
  server_name vhostb;
  location / {
    limit_req zone=vhostb nodelay;
    limit_req zone=upstream burst=25;
    proxy_pass http://some_upstream;
  }
}

> > It seems that each virtual hosts limits 5000r/s and entire nginx will
> > 10000r/s.
>
> No, this is not how it works.

Thanks for explict answer.

> Detailed information can be found in debug log, see
> http://nginx.org/en/docs/debugging_log.html.

We will try, thanks again.


On Wed, Mar 15, 2017 at 9:50 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:

> Hello!
>
> 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
> http://nginx.org/en/docs/debugging_log.html.
>
> --
> Maxim Dounin
> http://nginx.org/
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20170315/033d2f66/attachment.html>


More information about the nginx mailing list