Supervisor / supervisor

Supervisor process control system for Unix (supervisord)
http://supervisord.org
Other
8.53k stars 1.25k forks source link

option to bind a new port for each process using SO_REUSEPORT(_LB) #1661

Open graingert opened 1 month ago

graingert commented 1 month ago

the linux kernel supports load balancing connections to a group of processes each using a new socket.bind using the SO_REUSEPORT flag. FreeBSD supports the same feature using SO_REUSEPORT_LB

supervisor should support an option to bind a new port for each process using this flag, as this would help improve performance for some workloads that require fair load balancing, that sharing a single socket between multiple processes does not.

see https://lwn.net/Articles/542629/ and where this issue was originally reported: https://github.com/encode/uvicorn/discussions/2467