On Thu, 2008-06-12 at 22:07 +0200, Quintin Beukes wrote:

> I am obviously using HttpCore wrong for it to be so slow (I mean,
> HttpClient is built on core, so it's impossible to be faster). It's
> just that the documentation for these are sparse, and I'm having a
> very hard time finding my way around.
> 

Quintin,

I just took a cursory look at the benchmark code. It is absolutely clear
why HttpCore does not perform. You are basically opening a new
connection for _each_ and _every_ request. Essentially you are testing
the performance of the TCP/IP stack rather that of HttpCore.

Hope this helps

Oleg

> And beyond this, Tomcat itself gives me fantastic speeds reading
> static data. Where are the bottlenecks?
> 
> The HttpCore setup I used was the "Basic GET Requests" example
> available on the site. I modified it a bit to allow URL input and
> target server specified through parameters passed to the servlet.
> Beyond that I didn't change anything. My assumption is that
> connections aren't being reused. In fact, I know this is the case, so
> it logically and obviously removes the validity of the above
> benchmarks for HttpCore. I'm not going to remove them though.
> 
> I would really like to get throughputs similar to direct Apache
> connections (at least 33+ mbyte/s, which is round about the general
> limit of hard drive transfer rates). Full ethernet throughput is
> preferable and I'm sure possible. Downloading large files I get speeds
> of up to 54mbyte/s with Apache. I'm sure this is limited only to the
> hard drive I tested with, as it's a gigabit connection, and this is
> just less than half it's full potential. I haven't done tests using
> memory transfer. Will try it when I can diagnose the bottlenecks I
> currently have, and then use them as measurements to gain insights
> into the speed of the program itself by taking as much of the other
> bottlenecks in the system away as possible (in this case the
> limitation of data transfer rates from the hard drives).
> 
> The three benchmark servlets I used are here:
> HttpClient: http://quintin.dev.junkmail.co.za/httpclient/Bench.java
> HttpCore: http://quintin.dev.junkmail.co.za/httpclient/BenchCore.java
> HttpURLConn: http://quintin.dev.junkmail.co.za/httpclient/BenchURL.java
> 
> And a utility class I use in the above:
> http://quintin.dev.junkmail.co.za/httpclient/StreamBinder.java
> 
> Any insights would be greatly appreciated.
> 
> regards,


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to