Nginx + fair load balancer patch looping
Alexander Staubo
alex at purefiction.net
Fri Mar 28 17:39:54 MSK 2008
On 3/14/08, Grzegorz Nosek <grzegorz.nosek at gmail.com> wrote:
> If it doesn't kill your I/O, it might be useful (as an insight into WTF
> the fair balancer is choosing). I think that the most useful would be
> capturing debug_http logs (only those with [upstream_fair] should be
> enough), but that generates a truly massive amount of data.
Well, it happened again. What is interesting -- and I am pretty sure
this is what happened before -- is that the errant process is actually
a worker shutting down:
root 4746 0.0 0.0 18316 1356 ? Ss Mar25 0:00
nginx: master process /usr/sbin/nginx
www-data 4301 56.6 34.4 6026976 2818648 ? R Mar27 1127:20 \_
nginx: worker process is shutting down
www-data 17604 0.7 0.0 18984 2132 ? S 06:27 4:10 \_
nginx: worker process
www-data 17605 0.7 0.0 19048 2228 ? S 06:27 4:12 \_
nginx: worker process
www-data 17606 0.7 0.0 18824 2012 ? S 06:27 3:58 \_
nginx: worker process
www-data 17607 0.7 0.0 18788 1960 ? S 06:27 4:10 \_
nginx: worker process
I don't know why it's shutting down, though. It could be the log
rotation job that has poked it.
Running strace -e connect on this process yields an infinite sequence
of the following two lines:
connect(3, {sa_family=AF_INET, sin_port=htons(11003),
sin_addr=inet_addr("...")}, 16) = -1 EINPROGRESS (Operation now in
progress)
connect(4, {sa_family=AF_INET, sin_port=htons(11003),
sin_addr=inet_addr("...")}, 16) = -1 EINPROGRESS (Operation now in
progress)
where the address being connected to is one of the back ends. I also
ran a full strace, and I can send you the output privately if you
like.
I have not tried the latest snapshot yet. We are still running the one
from February 12th or so.
Alexander.
More information about the nginx
mailing list