Как решить ошибку пула соединений к PostgreSql?
сть PostgreSql на AWS. Коннекшн к ней делается через DbConnecrionFactory, что-то типа такого:
using (IDbConnection dbConnection = _dbConnectionFactory.NewNpgSqlConnection())
{
// Something
}
Проблема в том, что при быстрых запросах вылетакт ошибка:
Npgsql.PostgresException (0x80004005): 53300: remaining connection slots are reserved for non-replication superuser connections
Когда возникает ошибка? При быстрой перезагрузке сайта, при быстрых и частых (один за другим) переходах между страницами и подобных действиях
Может ли это быть связано с тем, что подключение к БД делает внутри using, а не, допустим, через какой-то GenericRepository внутри DI (Scoped)? Но при переходе между страницами делается только один запрос к БД, по этому количество запросов не должно меняться
Я думаю, что проблема может быть в одном из вариантов:
- В using'ах, которые используются для подключения к БД. Тут я больше склоняюсь к тому, что подключение к БД должно быть одно на весь http запрос, а не открываться отдельно для каждой операции
- В tria версии aws, на котором лежит БД. Там может быть ограничение по подключениям. Из-за того, что поступает много асинхронных запросов, забиваются все доступные подключения
Я запутался немного, поправьте, если ошибаюсь. Как мне решить эту проблему?