Client side HTTP micro-benchmark

Benchmark source code

https://svn.apache.org/repos/asf/httpcomponents/benchmark/httpclient/trunk/

Hardware specs of the system used to execute the benchmark

Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz
Processor cache size: 4096 KB
RAM MemTotal:  3933112 kB

Components versions

Benchmark results

Linux ubuntu 3.5.0-26-generic #42-Ubuntu SMP Fri Mar 8 23:18:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

1'000'000 requests / up to 50 concurrent connections

=================================
HTTP agent: JRE HTTP 1.7.0_21
---------------------------------
1000000 POST requests
---------------------------------
Document URI:           http://localhost:53649/echo
Document Length:        2048 bytes

Concurrency level:      50
Time taken for tests:   54.03 seconds
Complete requests:      1000000
Failed requests:        0
Content transferred:    2048000000 bytes
Requests per second:    18508.236 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Apache HttpClient (ver: 4.3-beta1)
---------------------------------
1000000 POST requests
---------------------------------
Document URI:           http://localhost:53649/echo
Document Length:        2048 bytes

Concurrency level:      50
Time taken for tests:   36.474 seconds
Complete requests:      1000000
Failed requests:        0
Content transferred:    2048000000 bytes
Requests per second:    27416.791 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: HttpCore NIO (ver: 4.3-beta2)
---------------------------------
1000000 POST requests
---------------------------------
Document URI:           http://localhost:53649/echo
Document Length:        2048 bytes

Concurrency level:      50
Time taken for tests:   38.926 seconds
Complete requests:      1000000
Failed requests:        0
Content transferred:    2048000000 bytes
Requests per second:    25689.771 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Apache HttpAsyncClient (ver: 4.0-beta4)
---------------------------------
1000000 POST requests
---------------------------------
Document URI:           http://localhost:53649/echo
Document Length:        2048 bytes

Concurrency level:      50
Time taken for tests:   43.318 seconds
Complete requests:      1000000
Failed requests:        0
Content transferred:    2048000000 bytes
Requests per second:    23085.092 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Jetty 8.1.7.v20120910
---------------------------------
1000000 POST requests
---------------------------------
Document URI:           http://localhost:53649/echo
Document Length:        2048 bytes

Concurrency level:      50
Time taken for tests:   73.568 seconds
Complete requests:      1000000
Failed requests:        0
Content transferred:    2048000000 bytes
Requests per second:    13592.866 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Ning async HTTP client 1.7.12
---------------------------------
1000000 POST requests
---------------------------------
Document URI:           http://localhost:53649/echo
Document Length:        2048 bytes

Concurrency level:      50
Time taken for tests:   53.284 seconds
Complete requests:      1000000
Failed requests:        0
Content transferred:    2048000000 bytes
Requests per second:    18767.36 [#/sec] (mean)
---------------------------------

100'000 requests / up to 50 concurrent connections (large message body)

=================================
HTTP agent: JRE HTTP 1.7.0_21
---------------------------------
100000 POST requests
---------------------------------
Document URI:           http://localhost:34489/echo
Document Length:        204800 bytes

Concurrency level:      50
Time taken for tests:   33.739 seconds
Complete requests:      100000
Failed requests:        0
Content transferred:    20480000000 bytes
Requests per second:    2963.9292 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Apache HttpClient (ver: 4.3-beta1)
---------------------------------
100000 POST requests
---------------------------------
Document URI:           http://localhost:34489/echo
Document Length:        204800 bytes

Concurrency level:      50
Time taken for tests:   28.608 seconds
Complete requests:      100000
Failed requests:        0
Content transferred:    20480000000 bytes
Requests per second:    3495.5256 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: HttpCore NIO (ver: 4.3-beta2)
---------------------------------
100000 POST requests
---------------------------------
Document URI:           http://localhost:34489/echo
Document Length:        204800 bytes

Concurrency level:      50
Time taken for tests:   25.417 seconds
Complete requests:      100000
Failed requests:        0
Content transferred:    20480000000 bytes
Requests per second:    3934.3748 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Apache HttpAsyncClient (ver: 4.0-beta4)
---------------------------------
100000 POST requests
---------------------------------
Document URI:           http://localhost:34489/echo
Document Length:        204800 bytes

Concurrency level:      50
Time taken for tests:   25.716 seconds
Complete requests:      100000
Failed requests:        0
Content transferred:    20480000000 bytes
Requests per second:    3888.6296 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Jetty 8.1.7.v20120910
---------------------------------
100000 POST requests
---------------------------------
Document URI:           http://localhost:34489/echo
Document Length:        204800 bytes

Concurrency level:      50
Time taken for tests:   70.245 seconds
Complete requests:      100000
Failed requests:        0
Content transferred:    20480000000 bytes
Requests per second:    1423.5889 [#/sec] (mean)
---------------------------------
=================================
HTTP agent: Ning async HTTP client 1.7.12
---------------------------------
100000 POST requests
---------------------------------
Document URI:           http://localhost:34489/echo
Document Length:        204800 bytes

Concurrency level:      50
Time taken for tests:   38.808 seconds
Complete requests:      100000
Failed requests:        0
Content transferred:    20480000000 bytes
Requests per second:    2576.7883 [#/sec] (mean)
---------------------------------

HttpClient3vsHttpClient4vsHttpCore (last edited 2013-05-15 11:16:56 by OlegKalnichevski)