утечка коннектов?

Alex Vorona voron at amhost.net
Thu Jul 10 15:02:26 MSD 2008


Привет

Сегодня первый раз пронаблюдал в 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 
перестал отрабатывать коннекты.

немного позже делаю reload nginx'у

2008/07/10 04:09:19 [notice] 94838#0: signal 1 (SIGHUP) received, reconfiguring
2008/07/10 04:09:19 [notice] 94838#0: reconfiguring
2008/07/10 04:09:19 [notice] 94838#0: using the "kqueue" event method
2008/07/10 04:09:19 [notice] 94838#0: start worker processes
2008/07/10 04:09:19 [notice] 94838#0: start worker process 83197
2008/07/10 04:09:19 [notice] 94838#0: start worker process 83198
2008/07/10 04:09:19 [notice] 81002#0: gracefully shutting down
2008/07/10 04:09:19 [notice] 94838#0: signal 23 (SIGIO) received
2008/07/10 04:09:19 [notice] 81003#0: gracefully shutting down
2008/07/10 04:09:19 [notice] 94838#0: signal 23 (SIGIO) received
2008/07/10 04:09:19 [notice] 94838#0: signal 23 (SIGIO) received
2008/07/10 04:09:24 [notice] 81003#0: exiting
2008/07/10 04:09:24 [notice] 81003#0: exit
2008/07/10 04:09:24 [notice] 94838#0: signal 20 (SIGCHLD) received
2008/07/10 04:09:24 [notice] 94838#0: worker process 81003 exited with code 0
2008/07/10 04:09:24 [notice] 94838#0: signal 23 (SIGIO) received
2008/07/10 04:09:55 [notice] 81002#0: exiting
2008/07/10 04:09:55 [alert] 81002#0: open socket #5910 left in 4 connection
2008/07/10 04:09:55 [alert] 81002#0: open socket #28684 left in 5 connection
2008/07/10 04:09:55 [alert] 81002#0: open socket #15515 left in 7 connection
................
2008/07/10 04:09:55 [alert] 81002#0: open socket #32122 left in 3230 connection
2008/07/10 04:09:55 [alert] 81002#0: open socket #35106 left in 3231 connection
2008/07/10 04:09:55 [alert] 81002#0: open socket #3034 left in 3237 connection
2008/07/10 04:09:55 [notice] 94838#0: signal 20 (SIGCHLD) received
2008/07/10 04:09:55 [alert] 94838#0: worker process 81002 exited on signal 11
2008/07/10 04:09:55 [notice] 94838#0: signal 23 (SIGIO) received
2008/07/10 04:09:55 [notice] 94838#0: signal 23 (SIGIO) received

grep -c "81002#0: open socket" error.log
3140

корок как обычно нет, хотя cwd у воркера верный и в директорию с профайлами с 
такими же правами/владельцем воркер мог писать

kern.maxfiles: 100000
kern.maxfilesperproc: 40000

у nginx
worker_processes  2;
worker_rlimit_nofile 40000;
worker_connections  8000;
open_file_cache          max=32000  inactive=10800s;

проксирование вида proxy_pass http://$domain$uri; $domain статический и задан 
выше в конфиге.

nginx version: nginx/0.6.30
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt=-I 
/usr/local/include --with-ld-opt=-L /usr/local/lib 
--conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx 
--pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log 
--user=www --group=www --with-debug --with-google_perftools_module 
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp 
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp 
--http-log-path=/var/log/nginx-access.log --with-http_realip_module 
--with-http_stub_status_module --with-http_sub_module
+ патч из http://www.lexa.ru/nginx-ru/msg17144.html

после релоада оба новых воркера нормально отрабатывают коннекты. До релоада 
странички либо не открывались, либо открывались медленно.





More information about the nginx-ru mailing list