LMDB driver for mapkeeper

Showing 1-1 of 1 messages
LMDB driver for mapkeeper Howard Chu 4/7/13 7:44 PM
I've just done a quick pass at an OpenLDAP LMDB driver for mapkeeper this weekend while at the LOADays conference http://loadays.org/
(If you haven't seen LMDB, full info here: http://symas.com/mdb/ )

You can examine the code here: https://github.com/hyc/mapkeeper

In a rough approximation of this bench https://github.com/m1ch1/mapkeeper/wiki/MySQL-vs.-LevelDB I have these results from a 16-core server with a single disk with XFS:

YCSB Client 0.1
Command line: -db com.yahoo.ycsb.db.MapKeeperClient -P workloads/workloada -P large.dat -s -t
[OVERALL], RunTime(ms), 411347.0
[OVERALL], Throughput(ops/sec), 2431.037542512769
[UPDATE], Operations, 200299
[UPDATE], AverageLatency(us), 3383.934857388205
[UPDATE], MinLatency(us), 156
[UPDATE], MaxLatency(us), 83839
[UPDATE], 95thPercentileLatency(ms), 14
[UPDATE], 99thPercentileLatency(ms), 25
[UPDATE], Return=2, 200299

[UPDATE], >1000, 0
[READ], Operations, 799701
[READ], AverageLatency(us), 3229.705797541831
[READ], MinLatency(us), 62
[READ], MaxLatency(us), 112873
[READ], 95thPercentileLatency(ms), 13
[READ], 99thPercentileLatency(ms), 25
[READ], Return=2, 799701

% cat large.dat
recordcount=10000000
#threadcount=100
threadcount=8
readproportion=0.8
updateproportion=0.2
operationcount=1000000

Looking back, I see it's not directly comparable because I forgot to set the record size to 4K. Will try that out later. But I'm pretty sure the updated numbers will be nearly as good, and easily better than the reported MySQL or LevelDB numbers on the above linked page. It's pretty much in line with my other benchmarks showing LMDB at least an order of magnitude faster than anything else.