nginx-1.1.1

Maxim Dounin mdounin на mdounin.ru
Вт Авг 23 22:11:31 UTC 2011


Hello!

On Wed, Aug 24, 2011 at 01:13:59AM +0400, Igor Sysoev wrote:

> On Wed, Aug 24, 2011 at 12:27:37AM +0400, Михаил Монашёв wrote:
> > Здравствуйте, Maxim.
> > 
> > >> Изменения в nginx 1.1.1                                         22.08.2011
> > >> 
> > >>     *) Изменение: теперь загрузчик кэша за каждую итерацию обрабатывает
> > >>        число файлов, указанное в параметре load_files, или же работает не
> > >>        больше времени, указанное в параметре loader_threshold.
> > 
> > > To Миша:
> > 
> > > Это изменение должно лечить долгую загрузку кеша под нагрузкой.  
> > > Потестируй пожалуйста, вылечились ли у тебя проблемы при 
> > > настройках по умолчанию.
> > 
> > Затестил. С выключенным алгоритмом кеш-лоадер работаел 6 минут ( кушал
> > 50-60% процессора в top-e). С дефолтным включённым - 65 мин (кушал ~3%
> > процессора в top-e).
> 
> Спасибо.
> Какой объём кэша ?
> Что значит "выключенным" - больший loader_threshold и нулевой loader_timeout ?

s/loader_timeout/loader_sleep/

(Подозреваю, что так же, как написано тут:
http://mailman.nginx.org/pipermail/nginx-ru/2011-August/042191.html)

> > ИМХО,  алгоритм должен адаптироваться к _текущей_ нагрузке на диски, а
> > не требовать от админа выбирать фактически неоптимальные параметры.
> 
> Тут не всё однозначно. Например, загрузчик в 1.0.5 на Линуксе/SSD забирал
> себе весь I/O и воркеры долго обслуживали запросы. Не знаю, почему.

Почему забирал весь I/O на SSD как раз понятно: там msleep() делался, 
только если загрузка 100 файлов заняла больше 200ms, а это 
нереально большое время для SSD.

> Загрузчик 1.1.0 грузил на SSD хорошо, но что происходило на обычных дисках,
> ты видел сам :)

Мне усиленно кажется, что поднять loader_files до скажем 1000 при 
текущем алгоритме будет относительно безопасно для всех сценариев 
и заметно улучшит время загрузки кеша для случая "нагрузки мало".  
Но надо бы потестировать и там, и там, при этом под реальной 
нагрузкой и следить за деградацией времени ответа.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru