I just want to say that when I'm setting TCP_NODELAY I expect that every portion of data is being transmitted right after I called ContentEncoder.write() (even without waiting for ACK for previous TCP packet) I've looked through the code in trunk, and looks like this expectation will fail after this change.
-- Best regards, Dmitry On Thursday, February 21, 2013, Oleg Kalnichevski wrote: > On Thu, Feb 21, 2013 at 11:39:49AM +0300, Dmitry Potapov wrote: > > On Thu, Feb 21, 2013 at 12:05 PM, Oleg Kalnichevski > > <[email protected]<javascript:;>> > wrote: > > > On Thu, 2013-02-21 at 12:26 +0530, Asankha C. Perera wrote: > > >> Hi Oleg > > >> > I made really major changes to HttpCore NIO in order to reduce > packet > > >> > fragmentation on the TCP level when transmitting relatively short > (less > > >> > than 1 TCP frame) entity enclosing messages. In my tests I am > seeing 25 > > >> > to 30% performance improvements for short PUT and POST requests on > the > > >> > client side and for short responses the server side as a result of > > >> > reduced TCP packet fragmentation. > > >> This is interesting.. What was the size of the messages that yielded > the > > >> improvement? Does this also relate to the use of tcpnodelay > > > > > > 2048 bytes. I was using this micro-benchmark to compare performance of > > > different versions. I had tcpnodelay set to true for all test > scenarios. > > So, in fact HttpCore NIO doesn't respect behaviour of TCP_NODELAY, if > > ConnectionConfig.Builder.setFragmentSizeHint(0) wasn't called? > > I think this should be implicitly stated in javadocs, because this is > > not clear without reading the code. > > > > Dmitry > > TCP_NODELAY and fragmentation parameters are completely unrelated. What I > was trying to say was that I had run all my tests with TCP_NODELAY set to > true. > > Oleg > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] <javascript:;> > For additional commands, e-mail: [email protected] <javascript:;> > >
