ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FreeBSD disk AIO support



On Mon, Aug 24, 2009 at 12:04:48PM +0400, Михаил Монашёв wrote:

> Здравствуйте, Игорь.
> 
> Большое спасибо.
> 
> IS> Экспериментальный патч для поддержки дискового AIO под FreeBSD.
> 
> А начиная с какой версии FreeBSD рекомендуется использовать AIO? Или
> всёравно?

Лучше с 7ки. В 6ке, если собрана или загружена поддержка AIO, то вся сеть
будет использовать GiantLock, даже если socket AIO не используется.
Это было исправлено только в 6.4-STABLE после 01.12.2008.

> IS> Ядро должно поддерживать AIO:
> 
> IS> options  AIO
> IS> или
> IS> kldload aio
> 
> IS> Настраивается так:
> 
> IS> ./configure --with-file-aio ...
> 
> IS> location / {
> IS>     aio  on;
> IS>     output_buffers  1 128k;
> IS> }
> 
> IS> Возможно, нужно подкрутить следующие sysctl'и:
> 
> IS> vfs.aio.max_aio_queue             1024
> IS> vfs.aio.max_aio_queue_per_proc    256
> IS> vfs.aio.max_aio_per_proc          32
> IS> vfs.aio.max_aio_procs             32
> 
> А больше можно сделать или это уже предельные значения?

Это дефолтные параметры. Число процессов определяют, сколько можно делать
параллельных запросов к диску и, я думаю, их можно оставить без изменения,
или даже уменьшить, например, для SATA. А вот размер очереди можно
увеличить - это сколько воркер может влить запросов в ядро: чем больше
очередь, тем меньше вероятность, что вокреру придётся делать обычное
чтение и тем чаще воркер будет использовать данные, закэшированные в VM.

> IS> Диагностировать текущую AIO загрузку можно с помощью
> 
> IS> vfs.aio.num_queue_count
> IS> vfs.aio.num_aio_procs
> 
> IS> Если ядерных aio процессов не хватает или же в ядре нет поддержки aio
> IS> вообще, то nginx переходит к обычному чтению.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.