ObjectRocket

When to scale MongoDB instances

In a previous blog post, we provided an introduction to massive scaling with MongoDB. Scaling tends to be reactive in nature leading to issues such as degraded application performance or, even worse, total application downtime. These issues ultimately lead to a negative customer experiences that impact your business. So how do you know when it’s the right time to scale your Mongo database so you don’t impact your bottom line?

Find the right threshold for your app

To ensure your application weathers the storm of growth in application usage and surges in traffic, it is imperative to load test a system to determine the threshold that your application can handle before you apply changes like scaling to your production system. More often that not, this process is overlooked and results in fire drills when you encounter issues with an increase in traffic.

The road to a successful MongoDB load test should include the following considerations:

 

Which metrics should I monitor to find bottlenecks?

First, you’ll need to determine which criteria to use to find the limiting factors to your particular application. Every application is different. Knowing these requirements will allow you to determine the the appropriate metrics to monitor from the database side.

Here are some examples:

 

Once you are able to determine the application-side metrics, you can decide what to monitor on the database side.

For example, if your requirements are to have a certain number of insert requests, focus on write metrics such as:

 

Tools used to analyze the metrics

Once you determine which metrics to monitor, you need to gather the data from the database side. Here are some utilities utilizing you can use to analyze the load factor:

 

In addition to real time analysis, you can also mine the MongoDB logs for additional details about database activity as well as any error conditions. By default, MongoDB logs queries that take longer than 100ms to execute so it is a good tool to identify poor performing queries.

Determine where to run the load test

Once you determine what you will use to gather the data, you are ready to load test. Common sense dictates that you should never load test in a production environment. Sometimes this becomes a show stopper because it can be difficult to spin up an environment fast enough. If you are not already on the ObjectRocket platform, you can spin up a MongoDB test cluster very quickly.

Need some help?

Knowing when to scale your MongoDB environment can get complicated. ObjectRocket customers enjoy the best scaling and sharding support hands-down. Our DBAs can help with every aspect of scaling your clusters and our help is always included. Contact us today to get started.

Now that you can start to determine when to scale your MongoDB instances, in our next blog we’ll cover how you scale MongoDB instances.

Exit mobile version