0

ASP.NET 3.5 приложения имеет две строки подключения:Пулов соединений и несколько соединений Струна

Data Source=RedDB;Initial Catalog=Red;User Id=myuser;Password=pas;Max Pool Size=50;Min Pool Size=1 

Data Source=BlueDB;Initial Catalog=Blue; User Id=myuser;Password=pas;Max Pool Size=375;Min Pool Size=2 

Предположит, соединение RedDB имеет хранимую процедуру, которая висит на неопределенное время из-за плохой индекс.

  1. Если приложение не закрывает соединение RedDB правильно (а именно, с Try /, наконец, блок), как быстро сделать соединения бассейн получить переработаны в качестве пользователей ударяют сайт?

  2. Если пул соединений RedDB превышен из-за того, что пользователи получают тайм-аут SQL, это ЛЮБОЕ влияние на BlueDB или это полностью изолированный пул соединений?

+0

Предположительно, у вас есть разумный тайм-аут, указанный в соединении, так что если sproc действительно зависает, соединение может быть закрыто и возвращено в пул? –

ответ

2

Если соединение не установлено должным образом, вы находитесь во власти GC. И вы никогда не знаете, когда это произойдет (даже если вы вызываете GC.Collect(), не гарантируется, что данный объект будет собран).

Пулы подключений основаны на строках подключения, поэтому эти две строки соединений, которые у вас есть, будут создавать 2 полностью разделенных пула.

Смежные вопросы