limit_req_zone key cache lifetime

Chad Hansen chadhansen at google.com
Thu Jul 14 20:30:11 UTC 2016


Great, thank you!

On Thu, Jul 14, 2016 at 4:26 PM Maxim Dounin <mdounin at mdounin.ru> wrote:

> Hello!
>
> On Thu, Jul 14, 2016 at 07:22:06PM +0000, Chad Hansen wrote:
>
> > I'm looking for documentation or explanation for how keys expire in the
> > limit_req_zone. I have the basic documenations here:
> >
> > *A client IP address serves as a key. Note that instead of $remote_addr,
> > the $binary_remote_addr variable is used here.
> > The $binary_remote_addr variable’s size is always 4 bytes for
> > IPv4 addresses or 16 bytes for IPv6 addresses. The stored state always
> > occupies 64 bytes on 32-bit platforms and 128 bytes on 64-bit platforms.
> > One megabyte zone can keep about 16 thousand 64-byte states or about 8
> > thousand 128-byte states. If the zone storage is exhausted, the server
> will
> > return the 503 (Service Temporarily Unavailable) error to all further
> > requests.*
> >
> > But there's no explanation for how the key cache eventually clears
> itself.
> > Is any available?
>
> The same page also specifies the algorithm used,
> http://nginx.org/en/docs/http/ngx_http_limit_req_module.html:
>
> : The limitation is done using the “leaky bucket” method.
>
> See https://en.wikipedia.org/wiki/Leaky_bucket for further
> details about the algorithm itself.
>
> The algorithm implies that there is no need to store anything for
> keys where there are no excessive requests.  Such zero states are
> automatically removed by the code when nginx is about to allocate
> a new state.
>
> --
> 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/20160714/28e343fc/attachment.html>


More information about the nginx mailing list