Аз съм авторът на pg-promise .
Има няколко нива на оптимизация на комуникациите с бази данни. Най-важното от тях е да се минимизира броят на заявките за HTTP заявка, тъй като IO е скъп, както и пула за връзки.
- Ако трябва да изпълните повече от една заявка за HTTP заявка, винаги използвайте задачи чрез метода задача .
- Ако задачата ви изисква транзакция, изпълнете я като транзакция, чрез метода tx .
- Ако трябва да направите множество вмъквания или актуализации, винаги използвайте операции с много редове. Вижте Вмъкване на много редове с pg-promise и многоредови актуализации на PostgreSQL в Node.js .
node-postgres започна да използва pg-pool от версия 6.x, докато pg-promise остава на версия 5.x, която използва изпълнението на вътрешния пул за връзки. Ето причината .
Дългата ми практика в тази област предполага:Ако не можете да поставите услугата си в набор от 20 връзки, няма да бъдете спасени, като търсите повече връзки, вместо това ще трябва да поправите внедряването си. Освен това, като преминете над 20, вие започвате да натоварвате допълнително процесора и това води до допълнително забавяне.
Размерът на данните няма нищо общо с размера на пула. Обикновено използвате само една връзка за едно изтегляне или качване, без значение колко голямо е. Освен ако внедряването ви е грешно и в крайна сметка използвате повече от една връзка, трябва да го поправите, ако искате приложението ви да може да се мащабира.
Ще изчака следващата налична връзка.
Вижте също: