npgsql Протекающие соединения с БД Пост-ГРЭС: Способ контролировать соединения?

Фон: я перемещаю свое приложение от npgsql v1 до npgsql v2.0.9. После нескольких минут запуска моего приложения я получаю Систему. Исключение: Тайм-аут при получении соединения от пула.

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

Так

Я пытаюсь диагностировать протекающие соединения пост-ГРЭС в npgsql.

От различной веб-литературы вокруг; один способ диагностировать протекающие соединения состоит в том, чтобы установить входящий в систему npgsql и искать просачивающееся предупреждающее сообщение соединения в журнале. Проблема, я не вижу это сообщение в журналах нигде.

Я также нашел утилиту, которая контролирует npgsql соединения, но это нестабильно и катастрофические отказы.

Таким образом, меня оставляют, вручную осматривая код. Для всюду, который создает npgsql соединение, существует наконец блок, избавляющийся от него. Для всюду, который открывает datareader, CommandBehavior. CloseConnection используется (и datareader расположен).

Какие-либо другие места для проверки или кто-то может рекомендовать способу искать протекающие соединения пула?

11
задан Fung 22 March 2011 в 03:08
поделиться

1 ответ

ОБНОВЛЕНИЕ: я работаю лучше, чтобы проверить, где были размещены эти соединения утечки. Пожалуйста, прочтите мой пост об этом: http://fxjr.blogspot.com/2012/11/better-tracing-of-npgsql-connection.html Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: Вы можете попробовать нашу последнюю бета-версию 2.0.11.91. Мы добавили еще код для улучшения пула соединений, который может вам помочь.

Хмммм, это очень странно .... Вы должны получать сообщения.

Эти сообщения появляются только тогда, когда среда выполнения ms.net завершает работу над объектом. Возможно ли, что вы одновременно используете больше, чем максимальное количество подключений по умолчанию? Я имею в виду, ваше пиковое использование может быть больше, чем максимальное количество подключений 20 ...

Надеюсь, это поможет.

Пожалуйста, дайте мне знать, что вы получите.

7
ответ дан 3 December 2019 в 11:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: