ASP.NET API Postgresql TimeoutException NpgsqlConnector GetPooledConnector

У нас есть ASP.net API, использующий postgres, обычно все работает нормально, но время от времени у нас есть это исключение:

Exception information: 
Exception type: TimeoutException 
Exception message: Dns hostname lookup timeout. Increase Timeout value in ConnectionString.    at Npgsql.NpgsqlConnector.RawOpen(Int32 timeout)    at Npgsql.NpgsqlConnector.Open()    at
Npgsql.NpgsqlConnectorPool.GetPooledConnector(NpgsqlConnection Connection)    at  Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection connection)    at Npgsql.NpgsqlConnection.Open()

Сначала я подумал, что это может быть связано с пулом соединений, поэтому добавил код для проверки открытых и закрытых соединений (у нас MAXPOOL установлен на 100).

Для каждого веб-приложения, запрашивающего API-интерфейс, я обнаружил, что 2 соединения остаются открытыми, но никакие запросы не связаны, если я перерабатываю пул приложений, проблема исчезает при сбросе соединений.

¿Любые идеи о том, как я могу идентифицировать утечки связи?

0 ответов

Другие вопросы по тегам