Re: Посоветуйте конфиг nginx для отдачи одновременно 10к+ файлов
Maxim Dounin
mdounin at mdounin.ru
Thu Mar 7 16:15:06 UTC 2013
Hello!
On Thu, Mar 07, 2013 at 10:53:10AM -0500, arty777 wrote:
> Валентин Бартенев Wrote:
> -------------------------------------------------------
> > On Thursday 07 March 2013 16:37:24 arty777 wrote:
> > > Какие должны быт ьправильные настройки что б работало AIO
> > (асинхронн) ,
> > > привидите пример конфига правильный, для линукс , с файловой
> > системой ext4
> > >
> >
> > А вам он действительно нужен?
> >
> > В исходном сообщение вы пишите: "Необходимо максимально снизить ио на
> > дисковую
> > стойку ...".
> >
> > Если исходить из этой задачи, то AIO вам не нужен. Включение directio
> > однозначно
> > увеличит нагрузку на диск. А AIO на линуксе работает только с ним, и
> > только ещё
> > более усугубит ситуацию (увеличит нагрузку), увеличив конкуренцию за
> > диск.
> >
> > > У меня ранее стояло 512 , сейчас 4К , и ошибок таких как не было
> > так и нет
> >
> > Что лишний раз подтверждает, что выравнивания 512 вам достаточно.
>
>
> Вообще заккоментировал в конфиге строку #directio_alignment 4K;
>
> Еще лучше стало!! Нагрузки диски стали большие выдерживать , супер .
Закоментировать - это то же самое, что 512. Соответственно имеем
бесконечную возможность для улучшения производительности -
достаточно менять 512 на 4k и обратно, любое действие у вас
улучшает ситуацию. :)
> Итого конфиг такой :
> #Вкл aync io
> aio on;
> directio 512; # включаем O_DIRECT для файлов, размером 512 kбайт или
> больше
> #directio_alignment 4K;
> output_buffers 1 512k;
>
> Я всегда думал что AIO улучшает работу , производительность дисковой
> подсистемы . Какой же в нем плюс тогда?
> С таким вариантом конфига как я показал , aio не работает у меня получается?
AIO - позволяет поднять конкурентность доступа к диску,
обеспечивая асинхронную работу с ним, что в свою очередь позволяет
использовать дисковую подсистему более эффективно (что совсем не
то же самое, что "снизить ио").
При этом на линуксе aio означает необходимость запрета page
cache'а (== directio), и в зависимости от исходной эффективности
оного кеша - может улучшить или ухудшить ситуацию в целом.
Идея о том, что "AIO улучшает" - она скорее всего связана с тем,
что если у людей наблюдаются проблемы с дисковой подсистемой - то
это обычно означает, что в их случае - эффективность page cache'а
низкая, и включение aio ситуацию скорее всего улучшит.
--
Maxim Dounin
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru