среда, 8 сентября 2010 г.

IIS6 , II7 и печальные размышления о современниках.

Давеча переносил приложение с одного сервера на другой. Соответственно  с IIS6 на IIS7.  IIS7 - понравился, немножко непривычно после IIS6 - но в целом позитвное впечатление.
А теперь о печалном...
После успешного переноса, решил проверить как все работает. Запустил приложение, проверил определенную фунциональность и тут нате:

"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."

Ну думаю все понятно - не закрытые соединения к базе. Проверяю соединения к базе - 100 активных соединений!!!  Быстренько вспомнил что делал на сайте и сориентировался в коде что и где... И действительно, в 15(!!!) местах соединение не закрывается. Код не мой, писал подчиненный. И вроде не дурак, может давать хороши и стабильные решения.. НО ТАКОЕ...
Вопрос к  космосу - "ДОКОЛЕ БУДЕТ ПРОЦВЕТАТЬ ТАКОЕ РАЗГИЛЬДЯЙСТВО И БЕЗАЛАБЕРНОСТЬ?!"

А теперь о IIS7 - он поймал эту ошибку. А IIS6 хавал и проглатывал, в результате чего страдала производительность. Такие дела.

2 комментария:

  1. Камрад, мысль снизошла на меня...
    А какая модель сессии у тебя в приложении? "InProc" Возможно это и объясняло безотказную работу на IIS6. Ресурсы закончились --- сессию сбросили, ресурсы освободили. Т.е. точный момент временни сбросса сессии не ведомая величина. С другой стороны, это не объясняет возникновение ошибки в IIS7. Сдаётся мне, надо смотреть настройку пулов приложения... там видать собаку закопали.

    ОтветитьУдалить