Npgsql - «Пул соединений исчерпан, увеличьте либо «Максимальный размер пула» (в настоящее время 100), либо «Тайм-аут»»C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Npgsql - «Пул соединений исчерпан, увеличьте либо «Максимальный размер пула» (в настоящее время 100), либо «Тайм-аут»»

Сообщение Anonymous »

Это исключение наблюдается в приложении, работающем в тестовой среде. Эта проблема не возникает локально с закрепленным экземпляром Postgres.

Код: Выделить всё

Npgsql.NpgsqlException (0x80004005): The connection pool has been exhausted, either raise 'Max Pool Size' (currently 100) or 'Timeout' (currently 50 seconds) in your connection string. ---> System.TimeoutException: The operation has timed out. at Npgsql.PoolingDataSource.g__RentAsync|34_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken) at Npgsql.NpgsqlConnection.g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken) at Npgsql.NpgsqlDataSourceCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
  • Обе среды используют одни и те же значения строки подключения для пула и тайм-аута.
  • Приложение использует «более новый» стиль регистрации NpgsqlDataSource с помощью builder.Services.AddNpgsqlDataSource
  • Операторы выполняются только с ожиданием с использованием команды NpgsqlCommand = this.dataSource.CreateCommand(..), соединения не открываются вручную.
  • Источник данных внедряется в конструктор класса репозитория, который внедряется в конструктор класса, наследуемого от BackgroundService
Я не уверен в ошибке, если это проблемы с инфраструктурой, и драйвер не может открыть соединение в течение установленного времени ожидания (кажется маловероятным, учитывая, что ошибка не является постоянной и увеличивается тайм-аут ничего не дает) ИЛИ пул соединений исчерпан из-за того, что соединения не удаляются правильно. Это также кажется маловероятным, учитывая, что мы не имеем дело с соединениями напрямую и не внедряем источник данных согласно документации. Я бы ожидал увидеть ошибку локально, если это правда.

Подробнее здесь: https://stackoverflow.com/questions/789 ... -pool-size
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»