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
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..
Another interesting thing. For the first time I have seen NIO transports
outperform blocking ones with as few as 100 concurrent connections when
using the latest Java 6 or Java 7 Oracle JREs. It used to take 1000 or
more concurrent connections a few years back. I am now very curious to
see if I can make HttpAsyncClient outperform HttpClient with, say, 250
concurrent connections.
Thats great to hear! and I look forward to trying out the AsyncClient over raw HC/NIO

Thanks to all of your efforts

regards
asankha

--
Asankha C. Perera
AdroitLogic, http://adroitlogic.org

http://esbmagic.blogspot.com




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to