On Thu, Feb 21, 2013 at 12:05 PM, Oleg Kalnichevski <[email protected]> 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.
> > https://svn.apache.org/repos/asf/httpcomponents/benchmark/httpcore/trunk/ > >> > The downside is that all this comes at the price of destabilizing areas >> > of code that have been well tested and stable for years. I made sure >> > that those areas have close to 100% unit test coverage, but still there >> > can be regressions. >> > >> > I would be enormously thankful if you could take the latest SVN trunk >> > for a spin and test it with your applications. I would be interesting to >> > know if the latest changes actually translate into any tangible >> > performance gains at the application level. >> During our migration, at one point we also did migrate to 4.3-alpha1 - >> so it would be something we would love to do, but it will need some more >> time, as we are yet to finalize the fallback to 4.2.x.. > > HttpCore 4.3 should be backward compatible with 4.1 and 4.2. You should > be able to drop it in place of an older version and see improved > performance. > > Oleg > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > -- Dmitry --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
