hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: HttpClient IO hits the same core
Date Tue, 15 Oct 2013 09:07:27 GMT
On Mon, 2013-10-14 at 22:22 +0100, Ke Ren wrote:
> Hi,
> 
> We are sending massive http client requests on amazon ec2 instance with 8
> cores (m3.xlarge). We notice always one core is hammered the most (80%) but
> others are just used around 30% to 40%. The httpclient we are using is
> 4.2.5. I reproduced this issue with very simple code on ec2 4 core
> instance. Basically I created one http client instance new
> DefaultHttpClient(mgr, params); mgr is a PoolingClientConnectionManager.
> This http client instance is shared by multiple threads. In this test, each
> thread worker just gets the same 700k file from s3. The result is the same.
> always just one core is hit heavily but very low usage on others. From
> jprofiler profiling, it looks the most cpu usage is on IO read from
> InputStream. I used EntityUtils.toByteArray to read data from entity. From
> netstat, there are 50 connections. The thing confuses me is why it always
> hits the same core when http responses are processed from multiple threads.
> Any ideas?
> 
> Thanks in advance,
> 
> Ke

The only rational theory I can think of is that the ReentrantLock
guarding the connection pool favors certain threads due to 'unfair'
behavior used by default. Still, I would presume that threads should not
be bound to one core only and the load should get distributed evenly.

Oleg 


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message