Error log question

Maxim Dounin mdounin на mdounin.ru
Вт Июл 26 13:59:12 UTC 2022


Hello!

On Tue, Jul 26, 2022 at 02:54:36PM +0300, Gena Makhomed wrote:

> On 26.07.2022 0:34, Maxim Dounin wrote:
> 
> >>   >> 2022/07/23 16:26:33 [alert] 849481#849481: *8078448 could not allocate
> >>   >> new session in SSL session shared cache "le_nginx_SSL" while SSL
> >>   >> handshaking, client: 175.156.80.121, server: 0.0.0.0:443
> >>   >
> >>   > This error indicate that nginx wasn't able to allocate new session
> >>   > in the SSL session cache defined by the "ssl_session_cache"
> >>   > directive, and removing an old session didn't help.  This
> >>   > basically indicate that the SSL session cache is too small, and it
> >>   > would be a good idea to either configure a larger cache or reduce
> >>   > ssl_session_timeout.  The logging level is probably a bit too
> >>   > scary, see https://trac.nginx.org/nginx/ticket/621 for details.
> >>
> >> Максим, Вы говорите, что "The message is probably a bit too scary
> >> (while the situation itself is mostly harmless)".
> >>
> >> Тикету https://trac.nginx.org/nginx/ticket/621 уже 8 лет.
> >>
> >> Разве не проще один раз пофиксить эту проблему в исходниках nginx,
> >> чем постоянно рассказывать пользователям в списках рассылки о том,
> >> что "The logging level is probably a bit too scary"?
> >>
> >> Если просто поменять [alert] на [warn] - ничего ведь не сломается?
> >> Почему же Вы этого не хочете или не можете сделать? Ведь это не сложно.
> > 
> > По конкретному тикету есть несколько моментов:
> > 
> > - Перед тем, как менять уровень логгирования - надо как минимум
> >    проверить, что в случае невозможности выделения памяти для сессии
> >    действительно ничего не ломается.
> > 
> > - А ещё неплохо бы сесть и внимательно посмотреть, не имеет ли
> >    смысла изменить логику удаления старых сессий в случае нехватки
> >    памяти, чтобы ошибок не возникало.  Или даже переделать логику
> >    выделения памяти под сессии, дабы минимизировать вероятность
> >    неуспеха.  Или прикрутить логику, аналогичную реализованной для
> >    памяти под элементы кэша (http://hg.nginx.org/nginx/rev/c9d680b00744).
> 
> Если не будет в логах ошибок - каким образом тогда пользователь
> сможет понять, что размер кэша для сессий SSL слишком маленький?

Точно так же, как и сейчас - по статистике повторного 
использования сессий, других способов нет.  Обсуждаемое сообщение 
об ошибке возникает тогда и только тогда, когда не удаётся 
выделить память после удаления одной из старых сессий.  Такое 
может происходить, например, если удалённая сессия заметно 
отличается по размеру от создаваемой, и попадает в другой диапазон 
выделений slab-аллокатора.

[...]

> Этот список рассылки, nginx-ru наверное не очень подходит
> для обсуждения NGINX Amplify Agent и NGINX Amplify?

Совершенно не подходит.  Впрочем, не уверен, что подходящее место 
вообще существует.

-- 
Maxim Dounin
http://mdounin.ru/



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