Add charts from Riak cluster testing
This commit is contained in:
parent
e22e2c42c8
commit
c533e829ff
3 changed files with 37 additions and 2 deletions
|
@ -6,17 +6,52 @@ Initial volume tests have been [based on standard basho_bench eleveldb test](../
|
||||||
|
|
||||||
This showed a relative positive performance for leveled for both population and load:
|
This showed a relative positive performance for leveled for both population and load:
|
||||||
|
|
||||||
Populate LevelEd | Populate LevelDB
|
Populate leveled | Populate eleveldb
|
||||||
:-------------------------:|:-------------------------:
|
:-------------------------:|:-------------------------:
|
||||||
 | 
|
 | 
|
||||||
|
|
||||||
Load LevelEd | Load LevelDB
|
Load leveled | Load eleveldb
|
||||||
:-------------------------:|:-------------------------:
|
:-------------------------:|:-------------------------:
|
||||||
 | 
|
 | 
|
||||||
|
|
||||||
|
This test was a positive comparison for LevelEd, but also showed that although the LevelEd throughput was relatively stable it was still subject to fluctuations related to CPU constraints. Prior to moving on to full Riak testing, a number of changes where then made to LevelEd to reduce the CPU load in particular during merge events.
|
||||||
|
|
||||||
|
The eleveldb results may not be a fair representation of performance in that:
|
||||||
|
|
||||||
|
- Within Riak it was to be expected that eleveldb would start with an appropriate default configuration that might better utilise available memory.
|
||||||
|
- The test node use had a single desktop (SSD-based) drive, and the the 'low' points of eleveldb performance were associated with disk constraints. Running on more genuine servers with high-performance disks may give better performance.
|
||||||
|
|
||||||
## Riak Cluster Test - #1
|
## Riak Cluster Test - #1
|
||||||
|
|
||||||
|
The First test on a Riak Cluster has been based on the following configuration:
|
||||||
|
|
||||||
|
- A 5 node cluster
|
||||||
|
- Using i2.2x large nodes with mirrored drives (for data partition only)
|
||||||
|
- noop scheduler, transparent huge pages disabled, ext4 partition
|
||||||
|
- A 64 vnode ring-size
|
||||||
|
- 45 concurrent basho_bench threads (basho_bench run on separate disks)
|
||||||
|
- AAE set to passive
|
||||||
|
- sync writes enabled (on both backends)
|
||||||
|
- An object size of 8KB
|
||||||
|
- A pareto distribution of requests with a keyspace of 50M keys
|
||||||
|
- 5 GETs for each update
|
||||||
|
- 4 hour test run
|
||||||
|
|
||||||
|
This test showed a 73.9% improvement in throughput when using LevelEd, but more importantly a huge improvement in variance in tail latency. Through the course of the test the average of the maximum response times (in each 10s period) were
|
||||||
|
|
||||||
|
leveled GET mean(max) | eleveldb GET mean(max)
|
||||||
|
:-------------------------:|:-------------------------:
|
||||||
|
21.7ms | 410.2ms
|
||||||
|
|
||||||
|
leveled PUT mean(max) | eleveldb PUT mean(max)
|
||||||
|
:-------------------------:|:-------------------------:
|
||||||
|
101.5ms | 2,301.6ms
|
||||||
|
|
||||||
|
Tail latency under load is around in leveled is less than 5% of the comparable value in eleveldb
|
||||||
|
|
||||||
|
leveled Results | eleveldb Results
|
||||||
|
:-------------------------:|:-------------------------:
|
||||||
|
 | 
|
||||||
|
|
||||||
|
|
||||||
## Riak Cluster Test - #2
|
## Riak Cluster Test - #2
|
||||||
|
|
BIN
test/volume/cluster_one/output/summary_leveldb_5n_45t.png
Normal file
BIN
test/volume/cluster_one/output/summary_leveldb_5n_45t.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 117 KiB |
BIN
test/volume/cluster_one/output/summary_leveled_5n_45t.png
Normal file
BIN
test/volume/cluster_one/output/summary_leveled_5n_45t.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 93 KiB |
Loading…
Add table
Add a link
Reference in a new issue