SO_REUSEPORT speedups

Sepherosa Ziehau added SO_REUSEPORT to DragonFly.  I don’t know how the mechanism works, because he didn’t include a description, but he did include a explanation of just how much it reduces CPU usage during as-high-as-physically-possible network load.  He even wrote tools to test it more heavily.

SO_REUSEPORT turned on

SO_REUSEPORT has been added and turned on by Sepherosa Ziehau.  This is an implementation of a feature found in the Linux kernel.  Check the very lengthy commit message for a description of what it does.

nginx and CPU affinity on DragonFly

Version 1.13.1 of nginx now natively uses CPU affinity on DragonFly.  This matches well with SO_REUSEPORT support; I suspect DragonFly is a fantastic place to run nginx at this point. …And before you say, “It would be great if someone would put together benchmarks”, think instead, “I’m someone, and I could do it.”

For DragonFly/nginx users

If you are running DragonFly, and also using nginx, the so_reuseport option will give you a significant speed boost.  I’ve mentioned it before, but not this directly.

TCP improvements

Sepherosa Ziehau has made a number of improvements to TCP in DragonFly – specifically, nonblocking and blocking connect(2) performance.  See each of his commits for statistics on how much this has reduced processor use under high load.  He has also written up an extensive description of how all this TCP stuff works in DragonFly. In …