MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB con prestazioni lente sotto carico

Questo dipende anche dal tipo di query che stai inviando, per favore controlla se ci sono punti sotto menzionati -

  • ci sono molte query di aggregazione? Che tipo di struttura di raccolta hai, ad esempio
  • ci sono molti array nidificati?
  • Si tratta di una singola istanza o di un set di repliche? Prova a mettere un set di repliche con lettura e scrittura su un nodo diverso.
  • Le query restituiscono dati da più raccolte?
  • Verifica che la tua istanza presenta errori di pagina per la percentuale di operazioni?
  • Controlla i tuoi log per le operazioni con nscanned elevato o scanAndOrder durante i periodi di blocco/coda elevati e indicizza di conseguenza.
  • Controlla le tue query per gli operatori ad alta intensità di CPU come $all, $push/$pop/$addToSet, nonché gli aggiornamenti di documenti di grandi dimensioni e in particolare gli aggiornamenti di documenti con array di grandi dimensioni (o array di documenti secondari di grandi dimensioni).
  • se il tuo database è pesante in scrittura, tieni presente che solo una CPU per database può scrivere alla volta (a causa di quel thread che mantiene il blocco di scrittura). Considera l'idea di spostare parte di quei dati nel proprio database.

Queste sono alcune cose che riducono le prestazioni nel tempo. Ho trattato i casi d'uso più comuni qui, tuttavia controlla questo post per qualche approfondimento.