Re: reuseport в конфигах nginx

Валентин Бартенев vbart на nginx.com
Пн Апр 11 13:49:21 UTC 2016


On Monday 11 April 2016 15:14:10 navern wrote:
> setsockopt есть всего в двух местах и в одном он нужен, чтобы апгрейдить 
> сокеты без reuseport'а до reuseport'а, если я правильно понимаю.
> 
> Подобный хак позволил запустить одновременно два nginx'а, так что как 
> минимум что-то полезное он делает.

Это, как раз, негативный побочный эффект.

Опция reuseport не только выставляет флаг на сокет, но и занимается тем,
что создает необходимое количество дескрипторов, по одному на каждый
рабочий процесс.  В этом и есть суть этой опции - оптимизация приема
соединений и равномерное их распределение по рабочим процессам.

Подробности тут:
https://habrahabr.ru/post/259403/

> 
> По опции грепал и там действительно много вхождений, на что стоит 
> обратить внимание? У нас предполагается включенный reuseport всегда.
> 
> В общем открыт к предложениям как сделать лучше.
> 

Самым простым решением было бы выставить флаг на этапе парсинга директивы
listen и не вмешиваться в логику обработки флага.

--
Валентин Бартенев


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