Octane JSON benchmarks
Last week I announced Octane along with some results from the Techempower
plaintext benchmarks that I ran on my bare metal servers. This week I’m publishing results of the
json benchmarks. There is a PR pending that will add this benchmark to be independently run by Techempower in round 14.
Just like last time, I’m comparing performance with
Both client and server machines have identical hardware.
- 20 Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz physical cores.
- 128GB of memory.
- 20GbE network.
plaintext results here so we can see how they compare to the
An important note is that libreactor had better results this time than the previous benchmarks from last week.
Running 5m test @ http://server:8080/plaintext 20 threads and 256 connections 2,314,163,089 requests in 5.00m, 271.56GB read Requests/sec: 7,711,273.38 Transfer/sec: 0.90GB Running 5m test @ http://server:8080/json 20 threads and 256 connections 2,065,676,424 requests in 5.00m, 280.88GB read Requests/sec: 6,883,363.49 Transfer/sec: 0.94GB
Running 5m test @ http://server:8000/plaintext 20 threads and 256 connections 5,532,072,679 requests in 5.01m, 649.15GB read Requests/sec: 18,421,298.23 Transfer/sec: 2.16GB Running 5m test @ http://server:8000/json 20 threads and 256 connections 4,699,969,799 requests in 5.01m, 639.05GB read Requests/sec: 15,642,927.81 Transfer/sec: 2.13GB
Latency distribution results
Measured using wrk2 from Gil Tene to properly account for coordinated omission to get correct latency results (latency results measured by Techempower are invalid).
Octane still shows it’s performance gap that it showed in the plaintext benchmarks in these JSON benchmarks. At 99.99 percentile the 1-10 million requests/second range shows a latency distribution still quite narrow at
7.4ms at 1 million requests/second and
11.1ms at 10 million requests/second.
At 9 million requests/second latency distribution looks good but at 10 million requests/second the latency starts to degrade in the 99.999 and 99.9999 percentiles.