hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Maloney <sam.malo...@filogix.com>
Subject Re: HttpClient and CPU usage.....
Date Wed, 26 Mar 2003 18:03:58 GMT
Good call Tom, this is most definatly the problem!

As the 'busy loop' that has been fixed that you speak of would have caused 
this EXACT occurance.

The bug caused HttpClient to continually call the Socket's 'int 
InputStream->read()' over and over even though the socket is allready closed 
(the function is returning -1, but it is being ignored, and thus called again 
and again inside a while loop that does nothing but calling 
InputStream->read() :).

Ken,
I almost guarantee this is your problem. If you are using a version older than 
aprox 2 weeks ago, upgrade to cvs. I am also not sure if Alpha 3 contains the 
fix; however, the fix was provided and approved a few days before alpha3 came 
around, so it should be in there.

Cheers,
Sam Maloney

On Wednesday 26 March 2003 11:10, Tom Samplonius wrote:
>   What version of httpclient are you using?
>
>   I understand that a busy read loop was removed from httpclient a couple
> of weeks ago.  I'm not sure if this change was made for Alpha3, or whether
> you have to go the daily builds to get it.
>
> Tom
>
> On Wed, 26 Mar 2003, Ken Clark wrote:
> > I've built a b2b application using the commons HttpClient, and all works
> > extremely well.  The problem is, however, that the app is using up to 45%
> > of the CPU time ( as reported by various unix processes ( ps -aux,
> > vmstat, etc ) ).  The customer has a Sun 4500, running solaris, with two
> > processors.
> >
> > I've tried debugging the app's CPU usage using the -Xrunhprof:cpu=samples
> > parameter in the VM, and it returns the "hot spots" for CPU usage :
> >
> >    1 74.67% 74.67% java/net/SocketInputStream.read      ([BII)I
> >    2  9.61% 84.28% java/net/PlainSocketImpl.available   ()I
> >    3  8.51% 92.79% java/net/PlainSocketImpl.doConnect
> > (Ljava/net/InetAddress;I)V
> >
> > everything else is using less than 0.50% of the VMs CPU.
> >
> > Since I'm not using these classes directly, I'm assuming that HttpClient
> > is. How can I make my app use less of the CPU?
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > commons-httpclient-dev-unsubscribe@jakarta.apache.org For additional
> > commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> commons-httpclient-dev-unsubscribe@jakarta.apache.org For additional
> commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org


Mime
View raw message