Skip to main content

Command Palette

Search for a command to run...

How to use MongoDB profiler

Updated
1 min read
How to use MongoDB profiler

Back in my previous company, we ran into issues where our MongoDB server became very slow and affected all our queries. Fortunately, we used Atlas and Profiler was available to us to analyse what was going on.

Here are some things we looked at.

  1. High Operation Time

  2. Recurring DB queries

  3. CPU Usage

  4. Aggregation Pipelines

  5. Performance Advisor for recommended indexes (Though, it might not be useful every time)

Optimisation

Add Cache Layer

After looking at the metrics, we reduced recurring DB queries by adding a caching layer in between, since the data changed less frequently than the expensive queries we were making.

Improving Pipelines

First, we added an index to a couple of fields which were actively being used in our pipelines.

Second, we improved the performance of the pipeline by moving our $match filter state before the lookup to reduce the amount of lookups.

Finally, we used $project to limit the amount of data we passed from one stage to another.

Scale Hardware

We also had to increase the CPU and RAM of our infra to handle the increased volume of queries being made to the DB as our last step.

More from this blog

H

Harsh Maur

12 posts

Software engineer with 12 years of experience. I love building SaaS-based products and contributing to open-source software that creates an impact on the lives of the people and developers.