-
Notifications
You must be signed in to change notification settings - Fork 6
Apache Http Components Benchmark adapted
2k benchmark + cpu:
as we look at the cpu graph over 5 minutes we see relaxfactory/1xio running first, consuming 1 core and some background activity in the other 7 hyperthreads. 1xio currently spends no time pooling buffers and consumes the largest heap by swiftly allocating scrap content buffers.
we see jetty8 following with a strangely uniform 50% ratio of SMT core usage. cpu application after the caches warm up. it appears the jetty NIO lineage of code has been deprecated. jetty9 is not using NIO
http core and netty follow respectively with better times, and all test scores corresponding to cpu load of nearly identical core content generators.
the lowest score throughput is 86 megs per second, that approaches saturation of gigabit ethernet.
UPDATED: 64b benchmark + jetty 8-> 9

UPDATED: 1xio shards in #75a68f285f9a9aa4583594e9b04ee76112964310

LATEST: 1xio pushes comparable traffic with unreported or unused CPU cycles. 1xio selector is clearly the last of the textbook NIO selectors. the same conclusion appears when reviewing the profiler's direct buffer pool -- 0-copy chews through slabs rapidly but the size curtail undue heap thrash. side-note 1xio selector loop consumes cpu almost entirely in the native read and write IO methods, whilst we see a proliferation of java thread syncronization and explosive cpu consumption in parralell with the other solutions.


UPDATED: Jetty9, 64 byte content size, -server flag, -Xmx4g -- except for the server vm. (1.8_u31)

UPDATED: allocator pool and intparse checkin:

Server Software: null Server Hostname: localhost Server Port: 8989 Document Path: http://localhost:8989/rnd?c=2048 Document Length: 2048 bytes
Concurrency Level: 50 Time taken for tests: 117.906000 seconds Complete requests: 5000000 Failed requests: 0 Write errors: 0 Kept alive: 5000000 Total transferred: 10240000000 bytes Requests per second: 42,406.66 [#/sec] (mean) Time per request: 1.179 [ms] (mean) Time per request: 0.024 [ms] (mean, across all concurrent requests) Transfer rate: 86,848.85 [Kbytes/sec] received -1 kb/s sent 86,848.85 kb/s total
Server Software: Jetty(8.1.16.v20140903) Server Hostname: localhost Server Port: 8989 Document Path: http://localhost:8989/rnd?c=2048 Document Length: 2048 bytes
Concurrency Level: 50 Time taken for tests: 33.530000 seconds Complete requests: 5000000 Failed requests: 0 Write errors: 0 Kept alive: 5000000 Total transferred: 10240000000 bytes Requests per second: 149,120.19 [#/sec] (mean) Time per request: 0.335 [ms] (mean) Time per request: 0.007 [ms] (mean, across all concurrent requests) Transfer rate: 305,398.15 [Kbytes/sec] received -1 kb/s sent 305,398.15 kb/s total
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: 50 Time taken for tests: 25.498000 seconds Complete requests: 5000000 Failed requests: 0 Write errors: 0 Kept alive: 5000000 Total transferred: 10240000000 bytes Requests per second: 196,093.81 [#/sec] (mean) Time per request: 0.255 [ms] (mean) Time per request: 0.005 [ms] (mean, across all concurrent requests) Transfer rate: 401,600.13 [Kbytes/sec] received -1 kb/s sent 401,600.13 kb/s total
Server Software: null Server Hostname: localhost Server Port: 8989 Document Path: http://localhost:8989/rnd?c=2048 Document Length: 2048 bytes
Concurrency Level: 50 Time taken for tests: 22.704000 seconds Complete requests: 5000000 Failed requests: 0 Write errors: 0 Kept alive: 5000000 Total transferred: 10240000000 bytes Requests per second: 220,225.51 [#/sec] (mean) Time per request: 0.227 [ms] (mean) Time per request: 0.005 [ms] (mean, across all concurrent requests) Transfer rate: 451,021.85 [Kbytes/sec] received -1 kb/s sent 451,021.85 kb/s total
Process finished with exit code 0