Ik ben de auteur van pg-promise .
Er zijn verschillende optimalisatieniveaus voor databasecommunicatie. De belangrijkste daarvan is het minimaliseren van het aantal queries per HTTP-verzoek, omdat IO duur is, net als de verbindingspool.
- Als je meer dan één zoekopdracht per HTTP-verzoek moet uitvoeren, gebruik dan altijd taken, via de methode taak .
- Als uw taak een transactie vereist, voert u deze uit als een transactie, via de methode tx .
- Als u meerdere invoegingen of updates moet doen, gebruik dan altijd bewerkingen met meerdere rijen. Zie Invoegen met meerdere rijen met pg-promise en PostgreSQL-updates met meerdere rijen in Node.js .
node-postgres begon pg-pool te gebruiken vanaf versie 6.x, terwijl pg-promise op versie 5.x blijft die de implementatie van de interne verbindingspool gebruikt. Dit is de reden waarom .
Mijn lange praktijk op dit gebied suggereert:als u uw service niet in een pool van 20 verbindingen kunt plaatsen, zult u niet worden gered door voor meer verbindingen te gaan, u zult in plaats daarvan uw implementatie moeten repareren. Door over de 20 heen te gaan, begint u de CPU extra te belasten, en dat vertaalt zich in verdere vertraging.
De grootte van de gegevens heeft niets te maken met de grootte van de pool. U gebruikt meestal slechts één verbinding voor een enkele download of upload, hoe groot ook. Tenzij uw implementatie verkeerd is en u uiteindelijk meer dan één verbinding gebruikt, moet u dit oplossen als u wilt dat uw app schaalbaar is.
Het zal wachten op de volgende beschikbare verbinding.
Zie ook: