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