Re: утечка сокетов и дескрипторов (0.8.52, FreeBSD 8.1 amd64, aio sendfile)
Igor Sysoev
igor на sysoev.ru
Пн Окт 18 16:12:45 MSD 2010
On Mon, Oct 18, 2010 at 08:03:06AM -0400, zuborg wrote:
> Пока не знаю, где проблема - или в 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
> соединения не убиваются ?
Это ошибка в nginx/AIO. Попробуйте 0.8.53, там есть часть фиксов Максима
на эту тему. Используется ли limit_rate ?
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru