speedb benchmark
20 Nov 2022
|
|
speedb是fork rocksdb 也是apache,那拿他的代码patch到rocksdb上是合规的行为么?
我的机器是双十一新拼的7950x 5G PBO开了
测试使用的固态是凯侠 RC20 1T 拼多多 400到手。配置的xfs
磁盘性能,使用diskexploer跑了个图, 这个是我的魔改版,https://github.com/wanghenshui/diskplorer 原来的版本有问题,可能会导致磁盘被抹
sudo ./diskplorer.py /dev/nvme1n1 --filename=/data/tmp/tempfile --result-file koxia.json --size-limit=1G
压测命令
#rocksdb
TEST_TMPDIR=/data/tmp/dbbench ./db_bench --benchmarks=fillrandom,readrandom -max_background_jobs=12 -num=400000000 -target_file_size_base=33554432
#speedb
TEST_TMPDIR=/data/tmp ./db_bench --benchmarks=fillrandom,readrandom -max_background_jobs=12 -num=400000000 -target_file_size_base=33554432
TEST_TMPDIR=/data/tmp ./db_bench --memtablerep=speedb.HashSpdRepFactory --benchmarks=fillrandom,readrandom -max_background_jobs=12 -num=400000000 -target_file_size_base=33554432
TEST_TMPDIR=/data/tmp ./db_bench -filter_uri=speedb.PairedBloomFilter:23.4 --benchmarks=fillrandom,readrandom -max_background_jobs=12 -num=400000000 -target_file_size_base=33554432
TEST_TMPDIR=/data/tmp ./db_bench -filter_uri=speedb.PairedBloomFilter:23.4 --memtablerep=speedb.HashSpdRepFactory --benchmarks=fillrandom,readrandom -max_background_jobs=12 -num=400000000 -target_file_size_base=33554432
结果
命令 | fillrandom | readrandom |
---|---|---|
rocksdb 7.9 | 74.5 MB/s | 9.6 MB/s |
speedb rocks版本 | 51.0 MB/s | 7.2 MB/s |
speedb 使用 paired bloom filter | 66.3 MB/s | 24.2 MB/s |
speedb 使用 sorted hash memtable | 53.2 MB/s | 4.9 MB/s |
speedb 上面两个都用 | 66.0 MB/s | 24.8 MB/s |
具体结果可以看 https://github.com/wanghenshui/wanghenshui.github.io/issues/67
这个speedb的paiared bloom filter确实值得研究一下