Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: утечка коннектов?
Alex Vorona пишет:
Привет
Сегодня первый раз пронаблюдал в error.log следующее
2008/07/10 00:00:48 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:00:49 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:00:49 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:00:58 [alert] 81003#0: send() failed (64: Host is down)
2008/07/10 00:00:58 [alert] 81003#0: send() failed (64: Host is down)
2008/07/10 00:01:06 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:01:08 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:01:12 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:01:14 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:01:23 [alert] 81002#0: send() failed (64: Host is down)
2008/07/10 00:01:40 [alert] 81002#0: unexpected response for domain.com
После этих ошибок у nginx начался рост writting connections, дошёл минут
за 45 до ~3100(обычно около 100 запросов/сек), после чего, похоже,
воркер 81002 перестал отрабатывать коннекты.
небольшой тесткейс показал, что, по-видимому, с резолвингом проблемы всё-таки
есть.
resolver 127.0.0.1;
resolver_timeout 1s;
location ^~ /pp {
set $pp "google.com";
proxy_pass http://$pp;
}
останавливаем резолвер на 127.0.0.1 :)
в статусе
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
пускаем ab
ab -n 100 -c 100 http://127.0.0.1/pp/123
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)...apr_poll: The timeout specified has
expired (70007)
Total of 1 requests completed
в статусе
Active connections: 100
server accepts handled requests
102 102 102
Reading: 0 Writing: 100 Waiting: 0
судя по дебаг-логу, nginx стучится к резолверу по-прежнему, коннекты от ab не
закрыты, и так, похоже, будет бесконечно долго. По HUP этот воркер не выходит.
Если запустить резолвер, то только тогда всё нормализуется - 100 запросов на
гугль и закрытие коннектов.
Возможно, что-то схожее происходит в случае unexpected response for domain.com ?
|