/YCSB-Rocksdb

YCSB-C for testing Rocksdb performance

Primary LanguageC++Apache License 2.0Apache-2.0

YCSB-Rocksdb

Fork from YCSB-C

  • separate load and run throughput
  • add latency testing(use leveldb/util histogram)

Quick Start

To build YCSB-C on Ubuntu, for example:

$ sudo apt-get install libtbb-dev librocksdb-dev
$ mkdir build
$ cd build
$ cmake ..
$ make

Run Workload A with a Rocksdb-based implementation of the database, for example:

./ycsb -db rocksdb -threads 8 -P ../workloads/workloada.spec

Output Like this:

rocksdb workloads/workloada.spec        8
# Loading records:      100000
# Load throughput (KOPS): 526.776
Count: 100000  Average: 14.9459  StdDev: 4.70
Percentiles(us): P50: 14.46 P90: 18.19 P99: 33.00 P99.9: 53.22 P99.99: 113.33
------------------------------------------------------
[       3,       4 )       5   0.005%   0.005% 
[       4,       5 )       1   0.001%   0.006% 
[       5,       6 )       2   0.002%   0.008% 
[       7,       8 )       4   0.004%   0.012% 
[       8,       9 )      52   0.052%   0.064% 
[       9,      10 )     194   0.194%   0.258% 
[      10,      12 )   26534  26.534%  26.792% #####
[      12,      14 )   16188  16.188%  42.980% ###
[      14,      16 )   30257  30.257%  73.237% ######
[      16,      18 )   16345  16.345%  89.582% ###
[      18,      20 )    4386   4.386%  93.968% #
[      20,      25 )    3193   3.193%  97.161% #
[      25,      30 )    1304   1.304%  98.465% 
[      30,      35 )     892   0.892%  99.357% 
[      35,      40 )     258   0.258%  99.615% 
[      40,      45 )     124   0.124%  99.739% 
[      45,      50 )     133   0.133%  99.872% 
[      50,      60 )      87   0.087%  99.959% 
[      60,      70 )      16   0.016%  99.975% 
[      70,      80 )      10   0.010%  99.985% 
[      80,      90 )       3   0.003%  99.988% 
[     100,     120 )       3   0.003%  99.991% 
[     120,     140 )       1   0.001%  99.992% 
[     140,     160 )       2   0.002%  99.994% 
[     200,     250 )       5   0.005%  99.999% 
[     250,     300 )       1   0.001% 100.000% 

# Run operations:       100000
# Run throughput (KOPS): 709.273
Count: 100000  Average: 10.8478  StdDev: 8.22
Percentiles(us): P50: 10.14 P90: 19.89 P99: 36.65 P99.9: 63.17 P99.99: 122.86
------------------------------------------------------
[       1,       2 )    3353   3.353%   3.353% #
[       2,       3 )   16524  16.524%  19.877% ###
[       3,       4 )   10355  10.355%  30.232% ##
[       4,       5 )    5323   5.323%  35.555% #
[       5,       6 )    2903   2.903%  38.458% #
[       6,       7 )    3362   3.362%  41.820% #
[       7,       8 )    2634   2.634%  44.454% #
[       8,       9 )    2828   2.828%  47.282% #
[       9,      10 )    2336   2.336%  49.618% 
[      10,      12 )    5500   5.500%  55.118% #
[      12,      14 )    8096   8.096%  63.214% ##
[      14,      16 )   11631  11.631%  74.845% ##
[      16,      18 )   10846  10.846%  85.691% ##
[      18,      20 )    4557   4.557%  90.248% #
[      20,      25 )    6106   6.106%  96.354% #
[      25,      30 )    1632   1.632%  97.986% 
[      30,      35 )     834   0.834%  98.820% 
[      35,      40 )     545   0.545%  99.365% 
[      40,      45 )     229   0.229%  99.594% 
[      45,      50 )     121   0.121%  99.715% 
[      50,      60 )     172   0.172%  99.887% 
[      60,      70 )      41   0.041%  99.928% 
[      70,      80 )      27   0.027%  99.955% 
[      80,      90 )      12   0.012%  99.967% 
[      90,     100 )      11   0.011%  99.978% 
[     100,     120 )      11   0.011%  99.989% 
[     120,     140 )       7   0.007%  99.996% 
[     140,     160 )       2   0.002%  99.998% 
[     160,     180 )       2   0.002% 100.000%

Run Workload A with a Faster-based implementation of the database, for example:

./ycsb -db faster -threads 8 -P ../workloads/workloada.spec