<div dir="ltr">Hi all,<br><br>The nginx httperf result w/ SO_REUSEPORT: 49852 reqs/s<br>There are still 35%~40% idle time on each hyperthread (it probably could do more, however, I can't find more boxes to run httperf on :P).<br>
<br>The nginx httperf result w/o SO_REUSEPORT: 37386 reqs/s<br><br>SO_REUSEPORT gives ~33% performance improvement!<br><br>One thing needs to note:<br>The "Send the TERM signal to the new master process. ..." binary upgrade reverting method as mentioned in:<br>
<a href="http://nginx.org/en/docs/control.html">http://nginx.org/en/docs/control.html</a><br>will cause glitch w/ so_reuseport global option.<br>However, the "Send the HUP signal to the old master process. ..." binary upgrade reverting method works smoothly w/ so_reuseport global option.<br>
<br>For folks compile their own nginx,<br>nginx-1.4.2:<br><a href="http://leaf.dragonflybsd.org/~sephe/nginx142.diff">http://leaf.dragonflybsd.org/~sephe/nginx142.diff</a><br>nginx-1.5.3+ and nginx development branch:<br>
<a href="http://leaf.dragonflybsd.org/~sephe/nginx153.diff">http://leaf.dragonflybsd.org/~sephe/nginx153.diff</a><br>The above patches introduce one global option: so_reuseport [on|off];<br>It is off by default.<br>I have talked to jmarino@ about import these patches to dports.<br>
<br>I submitted these patches to nginx one month ago (well, the accepting progress is slow :).<br><br>Best Regards,<br>sephe<br><br><div><div><div>-- <br>Tomorrow Will Never Die
</div></div></div></div>