Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

912
Vistas
Express/NodeJS + Mongoose App server response slow

Issue

I have an Express (Node.JS) + MongoDB app with a server response load time of 4 - 7 seconds on average (slow).

I understand that the average server response time is under 200ms as per google pagespeed tools.

This app is fetching data from a mongoDB asynchronously but the roundtrip times to the database is extremely slow with each call averaging about 500ms - 1s. These calls are simple findAll calls to retrieve data of less than < 100 records.

Context

  • Mongoose version: 4.13.14
  • DB server's MongoDB version is 3.4.16
  • DB server is hosted on MongoDB Atlas M10 in AWS / Oregon (us-west-1)
  • Web server is hosted with now.sh in SFO1 (us-west-1)
  • Have performed recommended indexes as advised by MongoDB Atlas's performance advisor
  • Data fetching perfectly fine in local environment (local server + local db) as data is queried in a matter of few ms
  • Mongoose logs for the affected page can be found in this gist

Mongo Server configuration

  • Mongo Atlas M10
  • 2GB Ram
  • 10 GB Storage
  • 100 IOPS
  • Encrypted
  • Auto-expand storage

Attempted solutions:

I have checked my DB metrics, they looked fine. There are also no slow queries. These are simple findAll queries. Performance advisor on mongo atlas reports nothing unusual.

The production application and database are both hosted in the same region.

I have already tried optimising the application layer of the query (mongoose) by running .lean()

Question:

Where else should i look to improve the database latency? How can a simple query take so long? Otherwise, why is my server response time taking up to 4s when the expected is about 200ms?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Hey you can try hosting your server and database in the same region. I think the network is creating a overhead in this case. If the server and the database are in the same region, They are on the same network which will reduce the latency significantly. there is a diagram on aws for this enter image description here

over 4 years ago · Santiago Trujillo Denunciar

0

I add some problem like yours with an app that i developed in my master degree. I add to put a node.js api running online to present it in class room.And i realized that every time i wanted to make a call in the api the response was taking allot of time. I realized that one of the problems was the school network because of the firewalls. Also the place where i put the server heroku.com was giving some delay as well. What i did was use Redis ( https://redis.io/ ) to improve the performance, also heroku was giving me some problems because of the requests being http and not https.

Make a test running the app and data on your localhost and see the performance. if you don´t have any issue try to check if nothing is messing with your request like the place where you host your node server.

Let me know if this helps or if you still have issues so i can try to help you out better.

over 4 years ago · Santiago Trujillo Denunciar

0

I had the same issue once with my nodejs code using the same development stack(mongodb,nodejs), I got into trouble of late response from api, and after spending a lot of time I found my server the real culprit I then changed from heroku to amazon aws EC2 instance and things started working fast and amazingly fast, so probably your web server is culprit


to make sure mongodb is not culprit, write an api endpoint where you can just return some json response without making any query to database.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda