Great, thank you! On Thu, Jul 14, 2016 at 4:26 PM Maxim Dounin <[email protected]> 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 > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
