Даже относительно небольшие серверы способны выполнять сотни запросов в секунду.
Поэтому я думаю, что сначала, крупный узкое место вызвано неправильной настройкой вашего экземпляра Postgres. Существует множество настраиваемых параметров, перейдите к PGTune чтобы получить хорошую начальную мелодию.
Затем просмотрите свои запросы. Есть ли у вас индексы, которые охватывают большинство запросов? Запускайте запросы с помощью объяснять
(например, в pgAdmin) и посмотреть, насколько они эффективны
Затем посмотрите, возвращают ли ваши запросы соответствующие размеры наборов данных. Нет необходимости возвращать всю таблицу, если вам нужна только 1 запись. В этом случае оптимизируйте свои запросы.
Вы видите, есть много вы можете сделать, прежде чем обращаться к более экзотическим, сложным и часто более хрупким методам.
Что касается вашего комментария: специально для postgres вики есть интересная информация. В любом случае, здоровая доза чтения прекрасного руководства также имеет решающее значение. Механизмы баз данных — это прекрасные инженерные решения, и вы должны понимать, что происходит под капотом, чтобы действительно хорошо ими управлять. И есть и плохие новости: настройка вашей базы данных сильно зависит от размера базы данных, того, как и насколько эффективно к ней осуществляется доступ, в реальных сценариях вы будете постоянно следить за тем, как она работает и какие действия могут улучшить ситуацию. . Мы используем pgBadger для многих аналитических задач.