Я автор pg-promise.
Я использую Node js и Postgresql и стараюсь быть максимально эффективным в реализации соединений.
Существует несколько уровней оптимизации взаимодействия с базой данных. Самый важный из них — минимизировать количество запросов на HTTP-запрос, потому что IO стоит дорого, как и пул соединений.
Я видел, что pg-promise построен поверх node-postgres, а node-postgres использует pg-pool для управления пулом.
node-postgres начал использовать pg-pool с версии 6.x, в то время как pg-promise остается в версии 5.x, которая использует реализацию внутреннего пула соединений. Вот почему.
Я тоже читал, что больше 100 клиентов за раз - это очень плохо
Моя многолетняя практика в этой области подсказывает: если вы не можете поместить свой сервис в пул из 20 подключений, вы не спасетесь, выбрав больше подключений, вместо этого вам нужно будет исправить свою реализацию. Кроме того, при превышении 20 вы начинаете создавать дополнительную нагрузку на ЦП, что приводит к дальнейшему замедлению.
каков рекомендуемый размер пула для очень большой нагрузки данных.
Размер данных не имеет ничего общего с размером пула. Обычно вы используете только одно соединение для одной загрузки или выгрузки, независимо от того, насколько они велики. Если ваша реализация неверна и вы в конечном итоге используете более одного соединения, вам нужно исправить это, если вы хотите, чтобы ваше приложение было масштабируемым.
что произойдет, если poolSize = 100 и приложение одновременно получит 101 запрос
Он будет ждать следующего доступного соединения.
Смотрите также:
person
vitaly-t
schedule
06.04.2017