Hello!

On Sun, Nov 16, 2014 at 05:07:12PM +0800, Sepherosa Ziehau wrote:

> Heh, I never made that patch for Linux and I don't use Linux ;).  And
> since Linux does not inherit sockets, once SO_REUSEPORT listen socket
> is closed you should have seen the strange timeout as you have
> described (as I had told you linux missing the socket inheritance
> feature).  On DFLY, we could max out all CPUs w/o problem and have no
> strange timeout or connection drops when doing binary upgrading.
> 
> Well, at least your test result suggests for SO_REUSEPORT, different
> OSes may need OS-specific implementation eventually to achieve better
> performance or keep binary upgrading works.  You probably could keep
> your patch as Linux specific patch as what we do for the dports.

I would rather suggest that tests are flawed and needs to be 
redone from scratch by someone who will be able to share testing 
details.

> 
> Best Regards,
> sephe
> 
> 
> On Fri, Oct 31, 2014 at 6:24 AM, Lu, Yingqi <yingqi...@intel.com> wrote:
> > Hi All,
> >
> > We tested the dragonfly approach on Linux (RHEL 6.5 with kernel 3.13.9). We 
> > used the same testing environment for both our patch and the dragonfly 
> > patch. Here is what we found:
> >
> > 1. Our patch has 36% better performance (operations/sec) comparing to 
> > dragonfly patch.
> > 2. Our patch has 53% lower response time comparing to dragonfly approach 
> > even at 36% higher throughput level.
> > 3. Our patch can scale the CPU utilization and frequency to the max 
> > capacity while dragonfly patch cannot.
> > 4. Our patch does not have any issues with "upgrade binary on the fly". 
> > However, dragonfly patch creates a spike in the response time during the 
> > upgrade. It also has lots of connection timeouts/losses with high load.
> >
> > Above findings are based on Linux OS.
> >
> > Thanks,
> > Yingqi
> >
> > -----Original Message-----
> > From: nginx-devel-boun...@nginx.org [mailto:nginx-devel-boun...@nginx.org] 
> > On Behalf Of Lu, Yingqi
> > Sent: Wednesday, October 08, 2014 11:24 AM
> > To: nginx-devel@nginx.org
> > Subject: RE: [Patch] SO_REUSEPORT support from master process
> >
> > One more comment from me: duplicate listen sockets in kernel is not a 
> > trivia thing to do and it may take long time before people can see it. 
> > Addressing it Nginx may not be as ideal as in kernel, but at least user can 
> > see the performance improvement sooner. In fact, we see up to 48% 
> > performance improvement on modern Intel system. Just my two cents.
> >
> > Again, thanks very much for everyone for helping us review this.
> >
> > Thanks,
> > Yingqi
> >
> > -----Original Message-----
> > From: nginx-devel-boun...@nginx.org [mailto:nginx-devel-boun...@nginx.org] 
> > On Behalf Of Lu, Yingqi
> > Sent: Wednesday, October 08, 2014 10:05 AM
> > To: nginx-devel@nginx.org
> > Subject: RE: [Patch] SO_REUSEPORT support from master process
> >
> > Hi Maxim,
> >
> > Thanks for letting us know.
> >
> > Our updated patch is located at 
> > http://forum.nginx.org/read.php?29,253446,253446#msg-253446
> >
> > It supposes to address all the style issues and fixes the restart and 
> > binary upgrade issues. This is just a FYI in case you are not aware of.
> >
> > Thanks,
> > Yingqi
> >
> > -----Original Message-----
> > From: nginx-devel-boun...@nginx.org [mailto:nginx-devel-boun...@nginx.org] 
> > On Behalf Of Maxim Dounin
> > Sent: Wednesday, October 08, 2014 5:59 AM
> > To: nginx-devel@nginx.org
> > Subject: Re: [Patch] SO_REUSEPORT support from master process
> >
> > Hello!
> >
> > On Tue, Oct 07, 2014 at 07:32:08PM +0000, Lu, Yingqi wrote:
> >
> >> Dear All,
> >>
> >> It has been quiet for a while on this patch. I am checking to see if
> >> there is any questions/feedbacks/concerns we need to address?
> >>
> >> Please let me know. Thanks very much for your help!
> >
> > Apart from style/coding issues, I disagree with the whole approach.
> >
> > As far as I understand the patch idea, it tries to introduce multiple 
> > listening sockets to avoid in-kernel lock contention.
> > This is something that can be done completely in kernel though, and I see 
> > no reason to introduce any changes to nginx here.
> >
> > The approach previously discussed with Sepherosa Ziehau looks much more 
> > interesting.
> >
> > --
> > Maxim Dounin
> > http://nginx.org/
> >
> > _______________________________________________
> > nginx-devel mailing list
> > nginx-devel@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-devel
> >
> > _______________________________________________
> > nginx-devel mailing list
> > nginx-devel@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-devel
> >
> > _______________________________________________
> > nginx-devel mailing list
> > nginx-devel@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-devel
> >
> > _______________________________________________
> > nginx-devel mailing list
> > nginx-devel@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-devel
> 
> 
> 
> -- 
> Tomorrow Will Never Die
> 
> _______________________________________________
> nginx-devel mailing list
> nginx-devel@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel

-- 
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to