As we continue to test our Fractal Tree Indexing with MongoDB, I’ve been updating my benchmark infrastructure so I can compare performance, correctness, and resource utilization. Sysbench has long been a standard for testing MySQL performance, so I created a version that is compatible with MongoDB. You can grab my current version of Sysbench for MongoDB here.
So what exactly is Sysbench? According to the Sysbench homepage, “Sysbench is a modular, cross-platform and multi-threaded benchmark tool for evaluating OS [Operating System] parameters that are important for a system running a database under intensive load.”
"_id" : 1 … 10000000
"k" : random integer between 1 and 10000000
"c" : 10 segments of 11 random digits plus hyphen
(119 characters total)
"pad" : 5 segments of 11 random digits plus hyphen
(59 characters total)
Benchmark Results – Performance
Throughput at all concurrency levels was higher than MongoDB. Our largest win was at 8 concurrent threads where we are 133% faster (17.38 tps vs. 40.50 tps). Not bad for a first pass, as we have many more ideas to come that will push our line higher.
Compared to MongoDB’s file system size (61.36GB), our zlib size on disk takes up only 31.36% the space (19.24GB). Compression has always been a strength of Fractal Tree Indexes, and some data can compress much more than this. I recently wrote another blog about our compression abilities on a different data set.
We will continue to share our results with the community and get people’s thoughts on applications where this might help, suggestions for next steps, and any other feedback. Please drop us a line if you are interested in becoming a beta tester.