Connection close при включении aio

Shcherbyna Ivan shioteam на gmail.com
Чт Июн 9 19:13:47 MSD 2011


Добрый день.
Столкнулся со следующей проблемой: после включения aio переодически
nginx начинает закрывать соединения с клиентами.
С сервера раздаются видеофайлы
nginx version: nginx/0.8.54
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-file-aio
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp
--http-scgi-temp-path=/var/tmp/nginx/scgi_temp
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
--http-log-path=/var/log/nginx-access.log --without-http-cache
--with-http_flv_module
--add-module=/usr/ports/www/nginx/work/nginx_mod_h264_streaming-2.2.7
--without-http_rewrite_module --without-pcre

FreeBSD 8.0-RELEASE FreeBSD amd64
AIO подгружаю в ядро с помощью kldload.

Единственная зависимость, которую удалось уловить: чем выше нагрузка
на жесткий диск, с которого отдается файл, тем чаще происходят
зыкрытия соединений. Тоесть при малой загрузке диска файлы отдаются
без проблем. Никаких специфических настроек ни сервера, ни nginx не
производилось.
...
sendfile        off;
aio on;
open_file_cache max=5000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 3;
...

В error_log пусто. Сделал debug log, но, к сожалению, на мысль как
поправить ситуацию он меня не натолкнул.
Фрагмент debug_logа: http://onity.kiev.ua/nginx-error.log (насколько я
понимаю обрыв соединения в нем описан на 4366 строке).

Проблема так же воспроизводится на сервере FreeBSD 8.2-RELEASE FreeBSD
amd64 с nginx/1.0.3.

Подскажите, пожалуйста, в чем может быть причина такого поведения?
Спасибо.


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