In talking to existing MongoDB users and TokuMX evaluators, I’ve often heard that the performance of MongoDB is very good as long as your working data set fits in RAM. The story continues that if your working data set grows to be larger than the RAM on your server, the built-in sharding capabilities of MongoDB allow you to scale horizontally.
As my benchmarking presentation at Percona Live 2013 pointed out, I’m never one to accept something without at least running it once myself. I decided to run my Sysbench for MongoDB benchmark on an in-memory workload, meaning that all of the data fits easily within the server’s RAM. More information about Sysbench is covered in one of my former blogs. At a high level, there are 16 collections in a single database, each containing 1 million documents. A single Sysbench “transaction” consists of point queries, range queries, a non-indexed update, an indexed update, a deletion, and an insertion.
- Dell R710, (2) Xeon 5540, 48GB RAM, PERC 6/i (256MB, write-back), 8x10K SAS/RAID 0
- Centos 5.8 (64-bit), XFS file system
- MongoDB v2.4.6 and TokuMX v1.2.0
At 64 client threads TokuMX is completing 1910.73 Sysbench transactions per second versus MongoDB’s 357.93, an increase of 433%.
How much faster can your MongoDB applications run on TokuMX? Visit the download page and give it a try.