Jag är författare till pg-promise .
Det finns flera nivåer av optimering för databaskommunikation. Den viktigaste av dem är att minimera antalet frågor per HTTP-förfrågan, eftersom IO är dyrt, så är anslutningspoolen det också.
- Om du måste köra mer än en fråga per HTTP-förfrågan, använd alltid uppgifter, via metoden uppgift .
- Om din uppgift kräver en transaktion, utför den som en transaktion, med metoden tx .
- Om du behöver göra flera infogningar eller uppdateringar, använd alltid operationer med flera rader. Se Multi-row insert with pg-promise och PostgreSQL flerradsuppdateringar i Node.js .
node-postgres började använda pg-pool från version 6.x, medan pg-promise finns kvar på version 5.x som använder den interna anslutningspoolimplementeringen. Här är anledningen .
Min långa praxis på detta område föreslår:Om du inte kan passa in din tjänst i en pool med 20 anslutningar, kommer du inte att räddas genom att gå för fler anslutningar, du måste fixa din implementering istället. Dessutom, genom att gå över 20 börjar du belasta processorn ytterligare, och det leder till ytterligare avmattning.
Storleken på data har ingenting att göra med storleken på poolen. Du använder vanligtvis bara en anslutning för en enda nedladdning eller uppladdning, oavsett hur stor den är. Såvida inte din implementering är felaktig och du använder mer än en anslutning, måste du åtgärda det om du vill att din app ska vara skalbar.
Den väntar på nästa tillgängliga anslutning.
Se även: