OK, Oleg's suggestions improved the whole thing around 30%, great stuff! Where would the performance boost with using the Core directly come from?
2009/7/9 Oleg Kalnichevski <ol...@apache.org> > On Thu, Jul 09, 2009 at 05:05:14PM +0200, Michael wrote: > > I completed my migration to the latest version of the HttpClient > > successfully. It is just a bit slower now than I would have ecpected... > > > > Maybe somebody has some tuning experiences to share? > > > > Michael, > > HttpClient should be _at least_ as fast as HttpClient 3.x. If performance > is an > overriding factor for you, you should consider using HttpCore directly and > get > 30 to 40% performance boost. > > http://wiki.apache.org/HttpComponents/HttpClient3vsHttpClient4vsHttpCore > > > > > * Reliability is not that important for me > > Make sure to turn off stale connection check and expect-continue handshake. > > > * It should do around 20 accesses per minute using slow proxies, > connection > > timeout is set to 6 seconds for them. Currently it does those 20 accesses > in > > 100 seconds :-( > > > > To find out where time is being spent, turn on context logging. Make sure > to > disable the wire log, though, otherwise you will be measuring performance > of > console output. > > http://hc.apache.org/httpcomponents-client/logging.html > > > > > > * I have 3 threads executing http gets concurrently. > > * I am going with ThreadSafeClientConnManager and 30 connections at max. > Is > > that enough? Or too much? > > You also have to increase the default limit of 2 concurrent connections per > host. It should be at least the same as the number of worker thread to > ensure > minimal resource contension. > > > > * I use a retry hanlder with up to 6 retries. Not sure if that is eating > up > > much time? > > * TCPNoDelay is false. Would turning that on improve performance to some > > extent? How much? > > Whooooaaaaa! Nagle's algorithm just kills HTTP performance. Make sure the > TCPNoDelay is set to true. > > > * Stale Checking is enabled. Maybe I dont need this since I use the > > IdleConnectionMonitorThread doing connMgr.closeExpiredConnections() every > 5 > > seconds? > > > > The stale connection check is more evil than the Church of Scientology. > Just do > not use it. > > Hope this helps > > Oleg > > --------------------------------------------------------------------- > To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org > For additional commands, e-mail: httpclient-users-h...@hc.apache.org > >