sql >> Database >  >> NoSQL >> MongoDB

next.js en mongodb-atlas - het verkrijgen van verbindingen % van de geconfigureerde limiet is hoger dan 80 waarschuwing

De verbinding moet om de volgende redenen opnieuw worden gebruikt:

  1. Het openen en sluiten van DB-verbindingen bij elk API-verzoek is traag.
  2. Het is nauwelijks schaalbaar. Ervan uitgaande dat u een paar API-verzoeken tegelijk per gebruiker doet, bereikt u snel dezelfde verbindingslimiet wanneer de app meer gebruikers krijgt.

Hoe beheer ik MongoDB-verbindingen in een Node.js-webtoepassing?

Standaard MongoClient configuratie heeft een maximum aantal verbindingen per pool (poolSize ) ingesteld op 5 . U zou dus niet meer dan ~5 verbindingen in MongoDB Atlas moeten zien als u slechts één app-instantie heeft en controleert of er al een client is verbonden, zoals u doet.

if (!client.isConnected()) {
  await client.connect();
}

Merk op dat Next.js "opnieuw start" bij elk verzoek in de ontwikkelingsmodus (next dev ) en het lijkt erop dat het invloed heeft op MongoClient cache en maakt veel verbindingen. In de productiemodus zou u dit probleem echter niet moeten ervaren.



  1. Kan buffer niet schrijven naar MongoDB GridFS

  2. gedekte index maken voor aggregatieraamwerk

  3. Volgorde van http-verzoeken binnen een for-lus in javascript handhaven

  4. Redis-sessiestatus configureren op Azure