enable reuseport then only one worker is working?

Andrew Hutchings ahutchings at nginx.com
Tue Mar 1 13:34:30 UTC 2016


Hi Jim,

On 01/03/16 13:10, Jim Ohlstein wrote:
> Hello,
>
> On 2/28/16 11:22 PM, Валентин Бартенев wrote:
>> On Sunday 28 February 2016 08:52:12 meteor8488 wrote:
>>> Hi All,
>>>
>>> I just upgrade Nginx from 1.8 o 1.9 on my FreeBSD box.
>> [..]
>>> Did I miss anything in the configuration? or for a busy server, it's
>>> better
>>> to use accept_mutex instead of reuseport?
>>>
>> [..]
>>
>> In FreeBSD the SO_REUSEPORT option has completely different behavior
>> and shouldn't be enabled in nginx.
>>
>
> Should the configruation option then be disabled or silently ignored in
> FreeBSD at this time?

It would be difficult to selectively ignore operating systems based on 
how this function is supported. Especially if that support changes over 
time.

I believe that DragonFly BSD for example supported the method most BSDs 
use originally.

In the FreeBSD pattern it is designed to bleed off connections to one 
service as another comes up. Such as a binary upgrade. The last socket 
listener always gets new connections. This is almost the exact opposite 
of what Linux does with the option (DragonFly is somewhere in the 
middle). I'm personally not a BSD expert so can't say which other BSD 
operating systems use the same method as FreeBSD and even which ones do 
not even have a SO_REUSEPORT option.

Documentation is probably the best option for now and we have tried to 
make it clear which operating systems do support this feature.

Kind Regards
-- 
Andrew Hutchings (LinuxJedi)
Technical Product Manager, NGINX Inc.



More information about the nginx mailing list