Я хочу использовать последовательность postgres с кешем CREATE SEQUENCE serial CACHE 100
. Цель состоит в том, чтобы повысить производительность 3000 использований SELECT nextval('serial');
в секунду примерно на 500 потоков соединений/приложений одновременно.
Проблема в том, что я выполняю интенсивное автомасштабирование, и соединения будут отключаться и снова подключаться, иногда оставляя «дыры» неиспользуемых идентификаторов в последовательности каждый раз, когда соединение отключается.
Что ж, хорошей новостью может быть то, что я использую PgBouncer heroku buildpack с режимом пула транзакций.
Мой вопрос: решит ли режим пула транзакций описанные мной проблемы с «дырами», будет ли он повторно использовать сеанс таким образом, чтобы следующее подключение приложения взяло этот сеанс из пула и продолжило использовать кеш последовательности?