Welcome! Log In Create A New Profile

Advanced

Re: nginx-1.1.1

Maxim Dounin
August 24, 2011 09:34AM
Hello!

On Wed, Aug 24, 2011 at 01:22:48PM +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), правильно?
>
> Да.
>
> 3 зоны по 400Мб.
>
> > Т.е. фактически расчётное время для полной загрузки с учётом
> > loader_files и loader_sleep по умолчанию (100 и 50ms
> > соответственно), ok.
>
> Я не считал. Сейчас от жары плохо соображаю как посчитать.

Я в прошлый раз считал, базовые цифры не изменились: время
ожидания нового алгоритма загрузки кеша - (количество файлов /
loader_files) * loader_sleep, т.е. 3072s в твоём случае при
настройках по умолчанию.

> > (И да, смотреть на процессор - достаточно бессмысленно, надо
> > смотреть на загрузку дисков в gstat.)
>
> Не скажи. Например, когда кэш загружается, то происходит резкий
> всплеск потребления процессора кэш-лоадером, вплоть до 100% одного
> cpu. Как при этом обслуживаются запросы я не знаю.
>
> Также по загрузке проца можно сравнивать скорости загрузки кэша :-)
>
> Подозреваю, что если б у меня был SSD-диск, то кэш-лоадер упёрся бы в
> процессор. И опять же, не знаю, как при этом работали бы другие
> процессы, которым тоже надо читать и писать инфу в шаред-мем.

(Спасибо за предоставленный доступ, потестировал, результаты
ниже.)

Как я и предполагал, при loader_files=1000 кеш грузится ~10 минут
(чуть медленнее, чем при loader_files=1000000 в твоих тестах).
При этом даже под нагрузкой оно практически не упирается в диск:
каталоги большей частью в кеше OS. Массовых срабатываний
loader_threshold не отмечено: обработка 1000 файлов в среднем
занимает ~ 100ms.

Оценить влияние на нормальную работу достаточно сложно всилу
плавающей нагрузки, но судя по netstat -w10 - bandwidth не
проседает. Скорее всего в данном случае влияния на работу нет (по
крайней мере из-за IO), т.к. используется aio + 30 рабочих
процессов, и конкурентность доступа к дискам высока. У одного
процесса cache loader'а просто нет шансов на что-либо существенно
повлиять.

А вот с CPU интереснее. При loader_files=1000 оно ест ~25% одного
ядра, и судя по всему заметная часть этого времени - спинлоки. В
частности, в снятом ktrace на 64 итерации (обработка 64000 файлов
соответственно) - более 150 уходов в sem_wait().

В общем и целом я склоняюсь к мнению, что безопаснее оставить
текущии настройки загрузщика. Они обеспеивают загрузку даже
достаточно больших кешей за вменяемое время, минимально влияя на
производительность сервера в целом. При этом если время загрузки
критично - можно рекомендовать тюнить параметры загрузщика (в
частности, увеличивать loader_files).

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx-1.1.1

Igor Sysoev August 22, 2011 10:16AM

Re: nginx-1.1.1

Maxim Dounin August 23, 2011 09:52AM

Re[2]: nginx-1.1.1

Михаил Монашёв August 23, 2011 04:28PM

Re: nginx-1.1.1

Igor Sysoev August 23, 2011 05:16PM

Re: nginx-1.1.1

Maxim Dounin August 23, 2011 06:12PM

Re[2]: nginx-1.1.1

Михаил Монашёв August 24, 2011 05:12AM

Re: nginx-1.1.1

Maxim Dounin August 23, 2011 05:50PM

Re[2]: nginx-1.1.1

Михаил Монашёв August 24, 2011 05:24AM

Re: nginx-1.1.1

Maxim Dounin August 24, 2011 09:34AM

Re: nginx-1.1.1

Илья Шипицин August 25, 2011 04:50AM

Re: nginx-1.1.1

Igor Sysoev August 25, 2011 05:02AM

Re: nginx-1.1.1

Илья Шипицин August 25, 2011 05:12AM

Re: nginx-1.1.1

Gena Makhomed August 25, 2011 06:34AM

Re: nginx-1.1.1

Валентин Бартенев August 25, 2011 12:58PM

Re: nginx-1.1.1

Gena Makhomed August 25, 2011 02:44PM

Re: nginx-1.1.1

Boris Dolgov August 25, 2011 04:16PM

CFQ

Gena Makhomed August 26, 2011 05:38AM

Re: CFQ

Igor Sysoev August 26, 2011 05:58AM

Re: nginx-1.1.1

Vladimir Rusinov August 26, 2011 02:14AM

Re: nginx-1.1.1

Alex Vorona August 26, 2011 10:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 231
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready