HttpCore performance benchmarks

Benchmark source code

In order to execute the benchmark locally install the latest snapshot of HttpCore from the Apache SVN repository and two optional modules httpcore-ab and httpcore-benchmark

http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/httpcore-ab/
http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/httpcore-benchmark/

and then execute mvn test command of the httpcore-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

Software versions

Benchmark results

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_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)

---------------------------------------------------------------
Jetty (blocking I/O); version: 7.0.1.v20091125
---------------------------------------------------------------

Server Software:                Jetty(7.0.1.v20091125)
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           14.147477 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            35,341.99 [#/sec] (mean)
Time per request:               0.707 [ms] (mean)
Time per request:               0.028 [ms] (mean, across all concurrent requests)
Transfer rate:                  72,380.39 [Kbytes/sec] received
                                -1 kb/s sent
                                72,380.39 kb/s total
---------------------------------------------------------------
---------------------------------------------------------------
HttpCore (blocking I/O); version: 4.1-alpha2-SNAPSHOT
---------------------------------------------------------------

Server Software:                HttpCore-Test/1.1
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           8.899113 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            56,185.37 [#/sec] (mean)
Time per request:               0.445 [ms] (mean)
Time per request:               0.018 [ms] (mean, across all concurrent requests)
Transfer rate:                  115,067.65 [Kbytes/sec] received
                                -1 kb/s sent
                                115,067.65 kb/s total
---------------------------------------------------------------
Error: Socket closed
---------------------------------------------------------------
Jetty (NIO); version: 7.0.1.v20091125
---------------------------------------------------------------

Server Software:                Jetty(7.0.1.v20091125)
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           266.941399 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            1,873.07 [#/sec] (mean)
Time per request:               13.347 [ms] (mean)
Time per request:               0.534 [ms] (mean, across all concurrent requests)
Transfer rate:                  3,836.05 [Kbytes/sec] received
                                -1 kb/s sent
                                3,836.05 kb/s total
---------------------------------------------------------------
---------------------------------------------------------------
HttpCore (NIO); version: 4.1-alpha2-SNAPSHOT
---------------------------------------------------------------

Server Software:                HttpCore-NIO-Test/1.1
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           19.253212 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            25,969.69 [#/sec] (mean)
Time per request:               0.963 [ms] (mean)
Time per request:               0.039 [ms] (mean, across all concurrent requests)
Transfer rate:                  53,185.93 [Kbytes/sec] received
                                -1 kb/s sent
                                53,185.93 kb/s total

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 16.0-b13, mixed mode, sharing)

---------------------------------------------------------------
Jetty (blocking I/O); version: 7.0.1.v20091125
---------------------------------------------------------------

Server Software:                Jetty(7.0.1.v20091125)
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           15.801919 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            31,641.73 [#/sec] (mean)
Time per request:               0.790 [ms] (mean)
Time per request:               0.032 [ms] (mean, across all concurrent requests)
Transfer rate:                  64,802.26 [Kbytes/sec] received
                                -1 kb/s sent
                                64,802.26 kb/s total
---------------------------------------------------------------
---------------------------------------------------------------
HttpCore (blocking I/O); version: 4.1-alpha2-SNAPSHOT
---------------------------------------------------------------

Server Software:                HttpCore-Test/1.1
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           16.984985 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            29,437.76 [#/sec] (mean)
Time per request:               0.849 [ms] (mean)
Time per request:               0.034 [ms] (mean, across all concurrent requests)
Transfer rate:                  60,288.54 [Kbytes/sec] received
                                -1 kb/s sent
                                60,288.54 kb/s total
---------------------------------------------------------------
Error: socket closed
---------------------------------------------------------------
Jetty (NIO); version: 7.0.1.v20091125
---------------------------------------------------------------

Server Software:                Jetty(7.0.1.v20091125)
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           82.707270 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            6,045.42 [#/sec] (mean)
Time per request:               4.135 [ms] (mean)
Time per request:               0.165 [ms] (mean, across all concurrent requests)
Transfer rate:                  12,381.02 [Kbytes/sec] received
                                -1 kb/s sent
                                12,381.02 kb/s total
---------------------------------------------------------------
---------------------------------------------------------------
HttpCore (NIO); version: 4.1-alpha2-SNAPSHOT
---------------------------------------------------------------

Server Software:                HttpCore-NIO-Test/1.1
Server Hostname:                localhost
Server Port:                    8989

Document Path:                  http://localhost:8989/rnd?c=2048
Document Length:                2048 bytes

Concurrency Level:              25
Time taken for tests:           38.239003 seconds
Complete requests:              500000
Failed requests:                0
Write errors:                   0
Kept alive:                     500000
Total transferred:              1024000000 bytes
Requests per second:            13,075.65 [#/sec] (mean)
Time per request:               1.912 [ms] (mean)
Time per request:               0.076 [ms] (mean, across all concurrent requests)
Transfer rate:                  26,778.94 [Kbytes/sec] received
                                -1 kb/s sent
                                26,778.94 kb/s total

HttpCoreBenchmark (last edited 2010-03-16 22:11:04 by OlegKalnichevski)