FreeBSD disk AIO support

Maxim Dounin mdounin at mdounin.ru
Tue Aug 25 19:24:05 MSD 2009


Hello!

On Sun, Aug 23, 2009 at 08:11:50PM +0400, Igor Sysoev wrote:

> Экспериментальный патч для поддержки дискового AIO под FreeBSD.
> Ядро должно поддерживать AIO:
> 
> options  AIO
> или
> kldload aio
> 
> Настраивается так:
> 
> ./configure --with-file-aio ...
> 
> location / {
>     aio  on;
>     output_buffers  1 128k;
> }
> 
> Возможно, нужно подкрутить следующие sysctl'и:
> 
> vfs.aio.max_aio_queue             1024
> vfs.aio.max_aio_queue_per_proc    256
> vfs.aio.max_aio_per_proc          32
> vfs.aio.max_aio_procs             32
> 
> Диагностировать текущую AIO загрузку можно с помощью
> 
> vfs.aio.num_queue_count
> vfs.aio.num_aio_procs
> 
> Если ядерных aio процессов не хватает или же в ядре нет поддержки aio
> вообще, то nginx переходит к обычному чтению.

Just in case it's intresting:

Без загруженного aio падает по 12-му сигналу (SIGSYS).  Если 
хочется проверять ENOSYS - SIGSYS надо перехватывать.

При загруженном - test suite выполняется штатно (0.8.10 + 
patch.aio, в конфигах всех тестов добавлено aio on), регрессий не 
отмечено.  Тестировал на FreeBSD 6.2 и FreeBSD 7.1.

Под реальной нагрузкой не пробовал.

Maxim Dounin





More information about the nginx-ru mailing list