Installing MongoDB in production using Helm

Hi all,

We recently tried installing MongoDB in our GKE cluster using the Bitnami Helm chart. We deployed a replicaset with 4 replicas using the configuration below:

image:
  debug: false
auth:
  existingSecret: mongodb-secret # Existing secret with MongoDB credentials (keys: mongodb-password, mongodb-root-password, mongodb-replica-set-key)
  rootUser: user
architecture: replicaset
replicaCount: 3
persistence:
  enabled: true
volumePermissions:
  enabled: true

When switching from our current Atlas production cluster (M30) to the new self-hosted one, we experienced that the new cluster was very slow compared to the old one (a factor 20). What can we do to imporve this?
Things we talked about:

  1. Use a premium storage class instead of default (an SSD)
  2. Use designated node-pool instead of one shared with other pods

We have about 22k users minimum 40 active at the same time and maximum 500 - we want this to scale in the future. What can we do? Any improvements to a production enviroment using the Bitnami Helm chart?

1 Like

Hi @sinbad_io,

I expect you’ve found more information by now, but for tuning a self-hosted deployment the following docs could be useful to review for general information:

If you are considering upgrading resources like storage or CPU, it would be helpful to start by capturing some monitoring baseline metrics to understand which resources might be limiting your performance. I would also review slow queries to see if there are any easy wins for common queries that could be supported by more optimal indexes.

Regards,
Stennie