| 
 | 
| 
 
[ADO.NET] Connection pooling. Непонятки какие то. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Имеем Web приложение. Win2000, SQl Server2000+SP3, .NET Framework 1.0 В коде явно закрываю SqlDataReader, SqlConnection тест 1. 1. В строке соединениея для ADO.NET Pooling=False 2. Гоняем прикладу переодически поглядывая в SQLServer на sp_who2 3. Соединения к базе данных открываються только на момент исполнения ТSQL комманд, то есть не закрытых соединений нет тест 2. 1. В строке соединения Max Pool Size=200 2. Гонять прикладу приходиться достаточно долго, в sp_who2 вижу постоянно увеличивающее количество соединений 3. В момент х получаю сообщение что maximum pool size is reached Внимание вопрос: Что бы это значило? Ощушение такое что соединение "не закрываеться" в режиме с пулингом. Любые идеи, мысли приветствуються П.С. Мысли типа переставь систему, используй .NET Framework 1.1, M$ Sucks к рассмотрению не принимаються :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.07.2003, 15:15 | 
  
  
  
   | 
||
| 
 
[ADO.NET] Connection pooling. Непонятки какие то. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я думаю, просто что-то не закрываете. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.07.2003, 16:56 | 
  
  
  
   | 
||
| 
 
[ADO.NET] Connection pooling. Непонятки какие то. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Пуллинг - это как раз и есть незакрывание соединения в течении какого-то времени (обычно 1 минута) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 25.07.2003, 15:31 | 
  
  
  
   | 
||
| 
 
[ADO.NET] Connection pooling. Непонятки какие то. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  2Dankov Вы немножко путаете. 1 минута - это незакрытие оригинального коннекта на тот случай, если он подойдёт какому-нибуть виртуальному. А здесь ситуация другая. Объект коннекта создаётся, используется для одного вызова и уничтожается (т.е. уничтожается ссылка). Объект переходит сборщику мусора, а тот уже через какое-то время освобождает ресурсы. Если он освобождает их через минуту, то при всего 1000 вызовах/сек за минуту накопится 60000 коннектов к БД. Это много. Нужно просто делать conn.Close(), как и рекомендует M$ для освобождения такого рода ресурсов - коннектов к БД, файлов, и т.д. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.07.2003, 19:15 | 
  
  
  
   | 
||
| 
 
[ADO.NET] Connection pooling. Непонятки какие то. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я ничего не путаю. После conn.Close() коннект переходит в пул на одну минуту и ждет открытия соединения еще кем-нибудь с той же строкой соединения. Если такое соединение открывается, коннект из пула передуется новому соединению. Если нет, то коннект в пуле закроется по истечении минуты. Все это время нахождения в пуле коннект остается открытым.  Это поведение можно запретить, просто запретив пуллинг. Это достигается помещением в строку соединения параметра "Pooling=false". Если так задать, то conn.Close() действительно тут же будет закрывать коннект, а не перемещать его в пул. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2003, 12:39 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=17&fpage=134&tid=1354335]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    40ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    46ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 231ms | 
| total: | 363ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.»
    
    
    ... бла, бла, бла ...