nginx-1.1.1
Maxim Dounin
mdounin на mdounin.ru
Вт Авг 23 21:49:44 UTC 2011
Hello!
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).
Количество файлов при этом - примерно такое же, как ты озвучивал
ранее (3 * 16 * 256 * 500), правильно?
Т.е. фактически расчётное время для полной загрузки с учётом
loader_files и loader_sleep по умолчанию (100 и 50ms
соответственно), ok.
(И да, смотреть на процессор - достаточно бессмысленно, надо
смотреть на загрузку дисков в gstat.)
> ИМХО, алгоритм должен адаптироваться к _текущей_ нагрузке на диски, а
> не требовать от админа выбирать фактически неоптимальные параметры.
Он и адаптируется. Если хочешь, чтобы грузилось быстрее - просто
поставь что-нибудь вроде loader_files=1000, должно загрузиться
минут за 10 если нагрузки мало. При этом мешать нормальной работе
по прежнему не должно: под нагрузкой итерация будет прекращаться
не после loader_files файлов, а после достижения времени
loader_threshold (время загрузки кеша при этом, очевидно,
вырастет).
Значения loader_files/loader_sleep по умолчанию - выбраны
достаточно консервативно. Предыдущий алгоритм (всмысле - тот, что
в 1.0.5 и ранее) вёл себя очень плохо на SSD (читай: просаживал
диски по самое небалуйся), и возможно мы несколько
перестраховались, пытаясь снова не наступить на те же грабли.
С другой стороны, даже с такими консервативными значениями -
сейчас время загрузки кеша в разы меньше, чем в 1.0.*. :)
Maxim Dounin
Подробная информация о списке рассылки nginx-ru