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