Everybody claims to be fast – but our fast is faster! Over the past few weeks, our team has been busy benchmarking our systems on Azure and the results have been fantastic.
Earlier this year before we ported our existing infrastructure from AWS to Azure, we spent a lot of time understanding the structure of the Azure cloud and optimizing for best performance. The reality is that Azure is fairly different from AWS and the performance strategy that works on one cloud probably will not work on the other. Our development team did a lot of custom work over the disk architecture that we use in our clusters – the goal was to provide the best disk performance on Azure. For more details on our offerings refer to our MongoDB hosting on Azure page.
TL;DR
1. ScaleGrid insert performance is at least 30% better than other mongo providers.
2. ScaleGrid consistently provides around 25% better throughput for both balanced (50% read, 50% write) and write heavy (95% write, 5% read) workloads.
The benchmarking was performed using Yahoo cloud server benchmark (YCSB) benchmark tool. YCSB is a fairly popular tool to measure the performance of MongoDB. The MongoDB team is also using YCSB to demonstrate the performance improvements of MongoDB 3.0 over MongoDB 2.x. Below are the results for our ‘Large’ configuration on Azure – ‘Standard A3 – 7GB memory, 4 cores, 8 disk RAID, up to 4000 IOPS’. This is a fairly common configuration used by production clusters on Azure. All tests were performed in the Azure US-East data center.
1. Insert performance
The Insert performance test measures the raw insert capacity of your MongoDB clusters. This is especially important for clusters that host a write heavy or insert heavy workload. The test was run with 16 YCSB threads and the average runtime of the test was 2 hours:
Summary: MongoDirector provides 30-40% more insert throughput than other mongo providers on Azure.
2. Throughput & Latency
Throughput and latency measurements were made both for balanced (50% read, 50% write) workloads and also write heavy workloads (95% write, 5% read):
Summary: ScaleGrid provides 20-25% more throughput for both read and write heavy workloads while consistently providing lower latency.
Even though our results look pretty good, the reality is that we are just getting started on MongoDB on Azure. Premium storage and Local SSD options on Azure will improve this benchmark even further. Stay tuned as we release these features into production. More details about the methodology and the specific parameters will be provided by our development team in subsequent posts.
If you have specific questions about the performance of a particular size or MongoDB cluster configuration please reach out to us at [email protected].