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

navern livingdeadzerg на yandex.ru
Пн Апр 11 13:59:08 UTC 2016


Да, я читал эту статью.

Проблема в том, что нам как раз нужен негативный побочный эффект:) 
Необходимо, чтобы одновременно можно было запустить два nginx'а. Этого 
можно добиться если везде указать reuseport, но только один раз.

А можно подробнее о том как лучше решить эту задачу? Какой правильный 
флоу должен быть? Выставлять везде опцию в конфигах(каждый раз) и 
убирать проверку на это при парсинге конфигурации?

On 11.04.2016 16:49, Валентин Бартенев wrote:
> On Monday 11 April 2016 15:14:10 navern wrote:
>> setsockopt есть всего в двух местах и в одном он нужен, чтобы апгрейдить
>> сокеты без reuseport'а до reuseport'а, если я правильно понимаю.
>>
>> Подобный хак позволил запустить одновременно два nginx'а, так что как
>> минимум что-то полезное он делает.
> Это, как раз, негативный побочный эффект.
>
> Опция reuseport не только выставляет флаг на сокет, но и занимается тем,
> что создает необходимое количество дескрипторов, по одному на каждый
> рабочий процесс.  В этом и есть суть этой опции - оптимизация приема
> соединений и равномерное их распределение по рабочим процессам.
>
> Подробности тут:
> https://habrahabr.ru/post/259403/
>
>> По опции грепал и там действительно много вхождений, на что стоит
>> обратить внимание? У нас предполагается включенный reuseport всегда.
>>
>> В общем открыт к предложениям как сделать лучше.
>>
> Самым простым решением было бы выставить флаг на этапе парсинга директивы
> listen и не вмешиваться в логику обработки флага.
>
> --
> Валентин Бартенев
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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