Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Флаг EPOLLEXCLUSIVE и проблема неравномерного распределения соединений в Nginx на Linux

Время на прочтение5 мин
Количество просмотров5.9K

Совсем недавно, 25 января 2022 года вышел новый релиз Nginx - 1.21.6, в котором исправлена проблема неравномерного распределения входящих соединений между несколькими worker процессами в дефолтной конфигурации на Linux системах. Если конкретнее - use epoll, accept_mutex off, reuseport выключен.

В данной конфигурации при определенном характере нагрузки большинство входящих в Nginx соединений обрабатывается лишь одним worker процессом. 

Насколько я понимаю, эта проблема существует уже более пяти лет и берет начало в версии 1.11.3 (Jul 2016), когда в Nginx по умолчанию отключили accept_mutex, а вместо него стали полагаться на флаг EPOLLEXCLUSIVE, появившийся в ядре Linux 4.5.

Стоит заметить, что проблема балансировки входящих соединений при использовании механизма epoll и флага EPOLLEXCLUSIVE более глобальна и касается не только Nginx, а любых сетевых приложений, работающих по аналогичной схеме.

В этой статье мы посмотрим на историю и причины появления данной проблемы, а также рассмотрим код ее решения в новом релизе Nginx.

Читать далее
Всего голосов 25: ↑23 и ↓2+27
Комментарии24

Quality control for the automotive parts: a short overview

Время на прочтение2 мин
Количество просмотров299

The automotive industry is a field with fierce competition. A car consists of many important components and parts, including a body, chassis, wheels and tires, interior and exterior elements, as well as an engine, transmission, electronics, mirrors, etc. 

From the design stage to the release, quality control is especially important to ensure that a part meets the requirements, client expectations and that a brand’s reputation has not been diminished. 

Read more
Рейтинг0
Комментарии0

LJV: Чему нас может научить визуализация структур данных в Java

Время на прочтение26 мин
Количество просмотров29K

Эта статья является пересказом моего доклада на Java-конференции SnowOne 2021 года. LJV — проект, созданный в 2004 году как инструмент для преподавания языка Java студентам. Он позволяет визуализировать внутреннее устройство структур данных. В этом докладе я запускаю LJV на разных структурах (от String до ConcurrentSkipListMap) в разных версиях Java и разбираю, что там внутри, как оно менялось от версии к версии, и как это всё работает.


image

Читать дальше →
Всего голосов 85: ↑85 и ↓0+85
Комментарии11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность