Jsem autorem pg-promise .
Existuje několik úrovní optimalizace pro databázovou komunikaci. Nejdůležitější z nich je minimalizovat počet dotazů na požadavek HTTP, protože IO je drahé, stejně jako fond připojení.
- Pokud musíte na požadavek HTTP provést více než jeden dotaz, vždy používejte úlohy pomocí metody úkol .
- Pokud váš úkol vyžaduje transakci, proveďte ji jako transakci metodou TX .
- Pokud potřebujete provést více vložení nebo aktualizací, vždy používejte víceřádkové operace. Viz Víceřádková vložka s pg-promise a víceřádkové aktualizace PostgreSQL v Node.js .
node-postgres začal používat pg-pool od verze 6.x, zatímco pg-promise zůstává na verzi 5.x, která používá implementaci interního fondu připojení. Zde je důvod, proč .
Moje dlouholetá praxe v této oblasti naznačuje:Pokud nemůžete svou službu vměstnat do fondu 20 připojení, nezachrání vás další připojení, budete místo toho muset opravit svou implementaci. Navíc, když překročíte 20, začnete vyvíjet další zátěž na CPU a to se promítne do dalšího zpomalení.
Velikost dat nemá nic společného s velikostí fondu. Obvykle používáte pouze jedno připojení pro jedno stažení nebo odeslání, bez ohledu na to, jak velké. Pokud vaše implementace není chybná a nakonec nepoužíváte více než jedno připojení, musíte to opravit, pokud chcete, aby byla vaše aplikace škálovatelná.
Bude čekat na další dostupné připojení.
Viz také: