Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Connections не возвращаются в ConnectionPool / 11 сообщений из 11, страница 1 из 1
20.06.2012, 20:32
    #37847222
umniaxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
Добрый день.
Столкнулся с такой проблемой: на одном окружении разворачиваю прилоджение (Asp.net, IIS7, MSSQL 2008). Все работает ок. Разворчиваю на другом окружении, очень быстро получаю:

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

Когда слежу за перфкаунтерами NumberOfPooledConnections и NumberOfReclaimedConnections, то картина такая:
На первом окружении, где все хорошо, коннекшены стабильно реклеймятся.
На втором окружении, где все рлохо, коннекшены не реклеймятся вообще. Что при росте NumberOfPooledConnections в конце концов вызывает упирание в верхнюю границу пула.

В чем может быть причина такого поведения?
...
Рейтинг: 0 / 0
20.06.2012, 23:04
    #37847394
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
не скромный вопрос: сидите на орм? если нет то конекшены высвобождаете?
...
Рейтинг: 0 / 0
21.06.2012, 08:00
    #37847551
umniaxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
Никакого ОРМ нет. Все на хранимых процедурах. Все коннектионы/датаридеры обернуты в юзинги. На самом деле, если бы проблема в коде была, то, как мне кажется, уже на первом бы окружении коннекшены стабильно бы утекали?
...
Рейтинг: 0 / 0
21.06.2012, 08:29
    #37847575
n3wb13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
а если явно закрывать коннекшен перед выходом из юзинга?
...
Рейтинг: 0 / 0
21.06.2012, 09:57
    #37847686
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
n3wb13а если явно закрывать коннекшен перед выходом из юзинга?
в VC поставтьте галку дебаг с исходниками..и провалитесь в блок юзинг для этих классов ..все увидите сами
...
Рейтинг: 0 / 0
21.06.2012, 10:11
    #37847715
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
umniaxaНикакого ОРМ нет. Все на хранимых процедурах. Все коннектионы/датаридеры обернуты в юзинги. На самом деле, если бы проблема в коде была, то, как мне кажется, уже на первом бы окружении коннекшены стабильно бы утекали?
а вы не используете инициализацию через блоки {}, к примеру
using(var t =new SqlConnection{.....}) такой код разворачивается в блок
var t = new SqlConnection();
t. = ...
try{}
finally{
close()
}
сложно скзаать про утечку имея мало инфы. Стараюсь помоч из той инфы что доступно
...
Рейтинг: 0 / 0
21.06.2012, 10:15
    #37847725
n3wb13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
handmadeFromRun3wb13а если явно закрывать коннекшен перед выходом из юзинга?
в VC поставтьте галку дебаг с исходниками..и провалитесь в блок юзинг для этих классов ..все увидите сами
спасибо, я в курсе что клоуз и диспоуз эквивалентны и помещают коннекшен в пул.

http://social.msdn.microsoft.com/Forums/da/adodotnetdataproviders/thread/c57c0432-c27b-45ab-81ca-b2df76c911ef
...
Рейтинг: 0 / 0
21.06.2012, 10:25
    #37847754
umniaxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
using(var t =new SqlConnection{.....}) - все именно в такие конструкции и оборачивается. Где Connection, где DataReader, которому подсовывается коннектион
...
Рейтинг: 0 / 0
21.06.2012, 11:01
    #37847895
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
umniaxausing(var t =new SqlConnection{.....}) - все именно в такие конструкции и оборачивается. Где Connection, где DataReader, которому подсовывается коннектион
зачем? чем вас конструкторы не смущают? хотя не факт что поможет
то n3wb13 , извини не хотел обидеть . не эквиваленты просто в диспозе уних прописываеться клоуз , как по патерну издиспосбл.
...
Рейтинг: 0 / 0
21.06.2012, 11:53
    #37848087
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
umniaxa, для теста -
1. Измените Connection Timeout (если стоит 0 - на чтонить отличное от... ) Посмотрите.
2. Измените Command Timeout (сделайте как можно меньше) Посмотрите.

Возможно, это поможет найти пр-му :)
Удачи.
...
Рейтинг: 0 / 0
21.06.2012, 13:00
    #37848269
umniaxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Connections не возвращаются в ConnectionPool
В одном месте действительно шла утечка. Зря грешил на окружение.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Connections не возвращаются в ConnectionPool / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]