Экспериментальный патч для поддержки дискового 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 переходит к обычному чтению.