Re: nginx полностью загружает весь процессор при reload'e
Maxim Dounin
mdounin на mdounin.ru
Пн Сен 2 17:11:11 UTC 2019
Hello!
On Mon, Sep 02, 2019 at 08:54:51PM +0500, Dmitry Sergeev wrote:
> Спасибо большое за ответ.
>
> Потестил с параметрами:
>
> ssl_session_tickets off;
> ssl_session_ticket_key /etc/nginx/ssl/ticket.key;
Just in case, для работы такая конфигурация смысла не имеет - если
тикеты выключены, то ключ для их шифрования не нужен. Ключ имеет
смысл задавать, если тикеты включены.
С точки зрения влияния на reload - внешний ключ позволит сохранить
тикеты при reload'ах, а выключение тикетов - уведёт всё в кэш
сессий.
> И довольно интересно получилось:
> http://joxi.net/krD6q0jTKkV9R2.jpg
>
> На картинке числами отмечены reload'ы
> 1,2,6,7,10 - без настроек tickets (по умоланию включен)
> 3,4,5,8,9 - с отключенным tickets и файлом ssl_session_ticket_key.
>
> При этом всегда был включен кэш сессий:
>
> ssl_session_cache shared:SSL:20m;
> ssl_session_timeout 30m;
>
> Пока сделал вывод, что с отключенным ssl_session_tickets средняя
> нагрузка выше, но при этом при reload'e нагрузка не так сильно
> возрастает по отношению к средней. Тесты не совсем чистые, постараюсь
> сделать более чистый эксперимент.
Ну выключать тикеты - это, безусловно, плохой путь. Тикеты -
способ переложить хранение сессий на клиентов, и отказываться от
этого - очевидно недальновидно с точки зрения нагрузки на сервер.
А вот то, что средняя нагрузка без тикетов заметно выше - это
немного странно. Само хранение сессий - должно бы стоить очень
недорого с точки зрения процессора, а в остальном разница не
принципиальна. Но, возможно, тут дело в том, что размер кэша
SSL-сессий просто мал для имеющегося количества клиентов, и
поэтому при выключении тикетов handshake'и начинают происходить
чаще, что и приводит к росту потребления процессора.
Отмечу также, что даже в наиболее экстремальных случаях из
представленных на графике - рост потребления процессора с ~200% до
~300% не выглядит сколько-нибудь фатальным. Какой-то рост
потребления процессора при релоадах - нормален, здесь же
наблюдается рост всего в 1.5 раза. Если это проблема - то стоит
задуматься о добавлении мощностей и/или заняться оптимизацией.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru