Что происходит, когда пул соединений Npgsql достигает максимума

как имя параметра строки подключения, так и это сообщение в блоге -http://fxjr.blogspot.co.uk/2010/04/npgsql-connection-pool-explained.html - заставьте меня поверить, что Npgsql не превысит значение MaxPoolSize, заданное в строке подключения. Однако документы (http://npgsql.projects.postgresql.org/docs/manual/UserManual.html) скажите " максимальный размер пула соединений. Объединенные соединения будут удалены при возврате в пул, если пул содержит больше, чем это число подключение. По умолчанию: 20"

Это говорит о том, что пул действительно может расти больше, чем MaxPoolSize, и на самом деле это просто уровень, на котором Npgsql начинает агрессивно удалять соединения из пула, как только они возвращаются.

Я искал, чтобы попытаться найти ответ, но я могу точно узнать, что происходит, когда вы достигаете MaxPoolSize. Кто - нибудь еще знает?

edit: я должен добавить, что мы используем Npgsql 2.0.6.0 из-за другой зависимости поддерживается только до этой версии.

1 ответов


Я думаю, что это может быть проблема с копией вставки относительно minpoolsize. Npgsql не создает больше соединений maxpoolsize. При достижении этого значения новые запросы на подключение ставятся в очередь до тех пор, пока не появится свободный запрос.

какой вопрос вы зависите от того, который работает только на 2.0.6?