You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Apache Wiki <wi...@apache.org> on 2010/03/05 17:55:02 UTC

[Httpcomponents Wiki] Update of "HttpClient3vsHttpClient4vsHttpCore" by OlegKalnichevski

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpcomponents Wiki" for change notification.

The "HttpClient3vsHttpClient4vsHttpCore" page has been changed by OlegKalnichevski.
http://wiki.apache.org/HttpComponents/HttpClient3vsHttpClient4vsHttpCore?action=diff&rev1=4&rev2=5

--------------------------------------------------

  = Client side HTTP performance benchmarks =
  
- '''BIG FAT DISCLAIMER''': These benchmarks are NOT based on any scientific methodology so the numbers are likely to be non-precise  
+ === Benchmark source code ===
  
- == Source code ==
+ In order to execute the benchmark locally install the latest snapshot of HttpClient from the Apache SVN repository and an optional module 
+ {{{httpclient-benchmark}}}  
  
- [[http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient3.java|HttpClient 3.x]]
- 
- [[http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpClient4.java|HttpClient 4.x]]
- 
- [[http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpCore.java|HttpCore 4.x]]
- 
- [[http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient-benchmark/src/main/java/org/apache/http/client/benchmark/TestHttpJRE.java|JRE HTTP]]
- 
- == Test platform ==
- 
  {{{
- OS: Microsoft Windows Vista; CPU: Intel Core(tm)2 Quad Q6600@2.40GHz; RAM: 4 GB
+ http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient-benchmark/
  }}}
  
+ and then execute {{{mvn test}}} command of the {{{httpclient-benchmark}}} module
+ 
+ === Hardware specs of the system used to execute the benchmark ===
+ 
  {{{
+ CPU: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
+ Processor cache size: 4096 KB
+ RAM MemTotal:  3353824 kB
+ }}}
+ 
+ == Results of HttpClient 3.1 vs HTTP JRE vs HttpCore 4.x (blocking I/O) vs HttpClient 4.x vs Jetty 7.x (blocking I/O) ==
+ 
+ === Linux Ubuntu 9.10 / JRE 1.6 ===
+ 
+ {{{
+ Linux ubuntu 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 01:26:53 UTC 2010 i686 GNU/Linux
+ }}}
+ 
+ {{{
- java version "1.6.0_13"
+ java version "1.6.0_18"
- Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
+ Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
+ Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
+ }}}
+ 
+ {{{
+ =================================
+ HTTP agent: Apache HttpClient 3.1
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	19.802 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	10099.99 [#/sec] (mean)
+ Time per request:	0.09901 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	20.454 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	9778.038 [#/sec] (mean)
+ Time per request:	0.10227 [ms] (mean)
+ ---------------------------------
+ =================================
+ HTTP agent: JRE HTTP 1.6.0_18
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	19.807 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	10097.44 [#/sec] (mean)
+ Time per request:	0.099035 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	22.738 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	8795.848 [#/sec] (mean)
+ Time per request:	0.11369 [ms] (mean)
+ ---------------------------------
+ =================================
+ HTTP agent: Apache HttpCore 4 (ver: 4.1-alpha2-SNAPSHOT)
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	13.339 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	14993.628 [#/sec] (mean)
+ Time per request:	0.066695 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	15.183 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	13172.628 [#/sec] (mean)
+ Time per request:	0.075915 [ms] (mean)
+ ---------------------------------
+ =================================
+ HTTP agent: Apache HttpClient 4 (ver: 4.1-alpha2-SNAPSHOT)
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	17.004 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	11761.938 [#/sec] (mean)
+ Time per request:	0.08502 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	18.493 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	10814.903 [#/sec] (mean)
+ Time per request:	0.092465 [ms] (mean)
+ ---------------------------------
+ =================================
+ HTTP agent: Jetty 7.0.1.v20091125
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:54406/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	22.116 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	9043.227 [#/sec] (mean)
+ Time per request:	0.11058 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ 
+ [The test did not complete after several minutes and was terminated]
+ }}}
+ 
+ === Windows Vista / JRE 1.6 ===
+ 
+ {{{
+ java version "1.6.0_18"
+ Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
- Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
+ Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)
  }}}
  
- === Test settings ===
- 
  {{{
- 200,000 HTTP GETs, keep alive, content length: 689 bytes
- }}}
+ =================================
+ HTTP agent: Apache HttpClient 3.1
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
  
+ Document URI:		http://localhost:49640/rnd?c=2048
- === Test results ===
- 
-  * !HttpClient 3.x
- 
- {{{
- Server Software:	Apache-Coyote/1.1
- 
- Document URI:		http://localhost:8080/examples/servlets/servlet/RequestInfoExample
- Document Length:	689 bytes
+ Document Length:	2048 bytes
  
- Time taken for tests:	36.099 seconds
+ Time taken for tests:	44.74 seconds
  Complete requests:	200000
  Failed requests:	0
- Content transferred:	137800000 bytes
+ Content transferred:	409600000 bytes
+ Requests per second:	4470.2725 [#/sec] (mean)
+ Time per request:	0.2237 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:49640/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	42.058 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	410744936 bytes
- Requests per second:	5540.32 [#/sec] (mean)
+ Requests per second:	4755.338 [#/sec] (mean)
- Time per request:	0.180495 [ms] (mean)
+ Time per request:	0.21029 [ms] (mean)
- }}}
+ ---------------------------------
+ =================================
+ HTTP agent: JRE HTTP 1.6.0_18
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
  
+ Document URI:		http://localhost:49640/rnd?c=2048
-  * !HttpClient 4.x
- 
- {{{
- Server Software:	Apache-Coyote/1.1
- 
- Document URI:		http://localhost:8080/examples/servlets/servlet/RequestInfoExample
- Document Length:	689 bytes
+ Document Length:	2048 bytes
  
- Time taken for tests:	35.381 seconds
+ Time taken for tests:	43.321 seconds
  Complete requests:	200000
  Failed requests:	0
- Content transferred:	137800000 bytes
+ Content transferred:	409600000 bytes
- Requests per second:	5652.7515 [#/sec] (mean)
+ Requests per second:	4616.6987 [#/sec] (mean)
- Time per request:	0.176905 [ms] (mean)
+ Time per request:	0.216605 [ms] (mean)
- }}}
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
  
+ Document URI:		http://localhost:49640/echo
-  * !HttpCore 4.x
- 
- {{{
- Server Software:	Apache-Coyote/1.1
- 
- Document URI:		http://localhost:8080/examples/servlets/servlet/RequestInfoExample
- Document Length:	689 bytes
+ Document Length:	2048 bytes
  
- Time taken for tests:	26.505 seconds
+ Time taken for tests:	42.635 seconds
  Complete requests:	200000
  Failed requests:	0
+ Content transferred:	412422664 bytes
+ Requests per second:	4690.982 [#/sec] (mean)
+ Time per request:	0.213175 [ms] (mean)
+ ---------------------------------
+ =================================
+ HTTP agent: Apache HttpCore 4 (ver: 4.1-alpha2-SNAPSHOT)
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:49640/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	34.18 seconds
+ Complete requests:	200000
+ Failed requests:	0
- Content transferred:	137800000 bytes
+ Content transferred:	409600000 bytes
- Requests per second:	7545.746 [#/sec] (mean)
+ Requests per second:	5851.375 [#/sec] (mean)
+ Time per request:	0.1709 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:49640/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	30.685 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	410032512 bytes
+ Requests per second:	6517.843 [#/sec] (mean)
- Time per request:	0.132525 [ms] (mean)
+ Time per request:	0.153425 [ms] (mean)
- }}}
+ ---------------------------------
+ =================================
+ HTTP agent: Apache HttpClient 4 (ver: 4.1-alpha2-SNAPSHOT)
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
  
+ Document URI:		http://localhost:49640/rnd?c=2048
-  * HTTP JRE
- 
- {{{
- Server Software:	Apache-Coyote/1.1
- 
- Document URI:		http://localhost:8080/examples/servlets/servlet/RequestInfoExample
- Document Length:	689 bytes
+ Document Length:	2048 bytes
  
- Time taken for tests:	32.792 seconds
+ Time taken for tests:	43.805 seconds
  Complete requests:	200000
  Failed requests:	0
- Content transferred:	137800000 bytes
+ Content transferred:	409600000 bytes
- Requests per second:	6099.0483 [#/sec] (mean)
+ Requests per second:	4565.689 [#/sec] (mean)
- Time per request:	0.16396 [ms] (mean)
+ Time per request:	0.219025 [ms] (mean)
- }}}
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
  
+ Document URI:		http://localhost:49640/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	42.385 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409846776 bytes
+ Requests per second:	4718.651 [#/sec] (mean)
+ Time per request:	0.211925 [ms] (mean)
+ ---------------------------------
+ =================================
+ HTTP agent: Jetty 7.0.1.v20091125
+ ---------------------------------
+ 200000 GET requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:49640/rnd?c=2048
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	47.564 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	409600000 bytes
+ Requests per second:	4204.861 [#/sec] (mean)
+ Time per request:	0.23782 [ms] (mean)
+ ---------------------------------
+ 200000 POST requests
+ ---------------------------------
+ Server Software:	Jetty(7.0.1.v20091125)
+ 
+ Document URI:		http://localhost:49640/echo
+ Document Length:	2048 bytes
+ 
+ Time taken for tests:	45.115 seconds
+ Complete requests:	200000
+ Failed requests:	0
+ Content transferred:	410369976 bytes
+ Requests per second:	4433.115 [#/sec] (mean)
+ Time per request:	0.225575 [ms] (mean)
+ ---------------------------------
+ }}}
+ 

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