утечка сокетов и дескрипторов (0.8.52, FreeBSD 8.1 amd64, aio sendfile)

zuborg nginx-forum на nginx.us
Пн Окт 18 16:03:06 MSD 2010


Пока не знаю, где проблема - или в FreeBSD 8.1
или в nginx

После длительной работы получаем такую
ситуацию:

# uname -rm
8.1-RELEASE amd64
# fstat | grep nginx | wc -l
   74981
# fstat | grep nginx | grep internet | wc -l
   41403
# sysctl kern.openfiles
kern.openfiles: 75029
# netstat -an | grep CLOSED | wc -l
   37069
# netstat -an | wc -l
   45273
# vmstat -z
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS 
FAILURES
...
socket:                   680,   128004,    45080,    41578, 113208581, 
 115223
...
tcp_inpcb:                336,   128007,    45169,    41742, 109066845, 
  14647
tcpcb:                    880,   128000,    45015,    41749, 109066382, 
    463
...


конфиг nginx-а:
worker_processes 4;
events {
  worker_connections 65536;
  use kqueue;
}
http {
  output_buffers 1 256k;
  read_ahead 1m;
  aio sendfile;
  sendfile      on;
  sendfile_max_chunk 128k;
  #gzip         on;
  tcp_nopush    on;
  tcp_nodelay   on;
  #keepalive_timeout    0;
  keepalive_timeout     5;
  reset_timedout_connection on;
...
}

Куда копать ? Как выяснить почему CLOSED tcp
соединения не убиваются ?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,141853,141853#msg-141853




Подробная информация о списке рассылки nginx-ru