Matthieu Tourne
May 24, 2011 08:26PM
Hi,

I've noticed an issue when limit_zone (and probably limit_req) is used.
If an nginx worker crashes, the cleanup functions for that request will not
get called and the number of connections will not be decremented as it
should be in ngx_http_limit_zone_cleanup().

Since it's a shared memory segment when a new worker is started, the number
of connection is still at the same value.
So if a worker crashes multiple times, we might end up always returning '503
Service Temporary Unavailable'.

I'm not sure there would be a way to call the cleanup functions if a worker
has crashed, but maybe the rbtree for limit_zone should be re-initialized on
a respawn ?

Thanks!

Matthieu.
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

limit_zone and nginx worker crashing

Matthieu Tourne 2475 May 24, 2011 08:26PM

Re: limit_zone and nginx worker crashing

Maxim Dounin 1114 May 25, 2011 07:16AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 296
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready