Skip to content

Instantly share code, notes, and snippets.

@hyc
Last active August 29, 2015 14:06
Show Gist options
  • Save hyc/7593d1bf21a804c1c5be to your computer and use it in GitHub Desktop.
Save hyc/7593d1bf21a804c1c5be to your computer and use it in GitHub Desktop.
Samba NTDB microbench
https://github.com/hyc/leveldb/commit/d05251bb51138f8f77a08e0e01f22c5048d3ccb5
violino:/home/software/leveldb> ./db_bench_ntdb
NTDB: version 1.0
Date: Mon Sep 15 16:51:55 2014
CPU: 4 * Intel(R) Core(TM)2 Extreme CPU Q9300 @ 2.53GHz
CPUCache: 6144 KB
Keys: 16 bytes each
Values: 100 bytes each (50 bytes after compression)
Entries: 1000000
RawSize: 110.6 MB (estimated)
FileSize: 62.9 MB (estimated)
------------------------------------------------
fillrandsync : 90.975 micros/op 10992 ops/sec; 1.2 MB/s (1000 ops)
272 /tmp/leveldbtest-1000/dbbench_ntdb-1
272 /tmp/leveldbtest-1000
fillrandom : 458.085 micros/op 2182 ops/sec; 0.2 MB/s
98560 /tmp/leveldbtest-1000/dbbench_ntdb-2
98560 /tmp/leveldbtest-1000
fillrandbatch : 411.020 micros/op 2432 ops/sec; 0.3 MB/s
106752 /tmp/leveldbtest-1000/dbbench_ntdb-3
106752 /tmp/leveldbtest-1000
fillseqsync : 91.421 micros/op 10938 ops/sec; 1.2 MB/s (1000 ops)
272 /tmp/leveldbtest-1000/dbbench_ntdb-4
272 /tmp/leveldbtest-1000
fillseq : 995.226 micros/op 1004 ops/sec; 0.1 MB/s
149072 /tmp/leveldbtest-1000/dbbench_ntdb-5
149072 /tmp/leveldbtest-1000
fillseqbatch : 1158.379 micros/op 863 ops/sec; 0.1 MB/s
155040 /tmp/leveldbtest-1000/dbbench_ntdb-6
155040 /tmp/leveldbtest-1000
overwrite : 116.464 micros/op 8586 ops/sec; 0.9 MB/s
155040 /tmp/leveldbtest-1000/dbbench_ntdb-6
155040 /tmp/leveldbtest-1000
readrandom : 3.662 micros/op 273081 ops/sec; (1000000 of 1000000 found)
readseq : 1.532 micros/op 652888 ops/sec; 72.2 MB/s
violino:/home/software/leveldb> ./db_bench_mdb
LMDB: version LMDB 0.9.14: (July 24, 2014)
Date: Mon Sep 15 17:54:21 2014
CPU: 4 * Intel(R) Core(TM)2 Extreme CPU Q9300 @ 2.53GHz
CPUCache: 6144 KB
Keys: 16 bytes each
Values: 100 bytes each (50 bytes after compression)
Entries: 1000000
RawSize: 110.6 MB (estimated)
FileSize: 62.9 MB (estimated)
------------------------------------------------
fillrandsync : 16.965 micros/op 58944 ops/sec; 6.5 MB/s (1000 ops)
228 /tmp/leveldbtest-1000/dbbench_mdb-1
228 /tmp/leveldbtest-1000
fillrandom : 4.226 micros/op 236654 ops/sec; 26.2 MB/s
116580 /tmp/leveldbtest-1000/dbbench_mdb-2
116580 /tmp/leveldbtest-1000
fillrandbatch : 3.248 micros/op 307882 ops/sec; 34.1 MB/s
126408 /tmp/leveldbtest-1000/dbbench_mdb-3
126408 /tmp/leveldbtest-1000
fillseqsync : 12.043 micros/op 83035 ops/sec; 9.2 MB/s (1000 ops)
172 /tmp/leveldbtest-1000/dbbench_mdb-4
172 /tmp/leveldbtest-1000
fillseq : 2.167 micros/op 461388 ops/sec; 51.0 MB/s
125872 /tmp/leveldbtest-1000/dbbench_mdb-5
125872 /tmp/leveldbtest-1000
fillseqbatch : 0.462 micros/op 2166513 ops/sec; 239.7 MB/s
125872 /tmp/leveldbtest-1000/dbbench_mdb-6
125872 /tmp/leveldbtest-1000
overwrite : 4.776 micros/op 209391 ops/sec; 23.2 MB/s
125872 /tmp/leveldbtest-1000/dbbench_mdb-6
125872 /tmp/leveldbtest-1000
readrandom : 1.289 micros/op 775712 ops/sec; (1000000 of 1000000 found)
readseq : 0.060 micros/op 16686412 ops/sec; 1846.0 MB/s
readreverse : 0.054 micros/op 18510977 ops/sec; 2047.8 MB/s
@surajwaghulde
Copy link

LMDB benchmark seems promising.. pretty impressive!! LMDB has 1.36 million reads per second so all actual data resides in memory right or SSD? If yes do you have numbers read/write performance on SSD?What is the memory footprint of index (metadata) for the data and actual data and its comparison with levelDB / TDB? RocksDB is not in the comparison, is it because of poor performance?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment