|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
Имеется IIS, на котором размещено несколько сайтов. Есть SQL, к которому эти сайты обращаются. С некоторых пор на одном из сайтов стали появляться проблемы с коннектом к SQL. Причем все остальные работают нормально. Мониторинг SQL показывает, что до него запросы с проблемного сайта просто не доходят. Ситуация хаотичная. Перезапуск сайта или приложения помогает, но кратковременно. Существенные ограничения (вроде как) отсутствуют. Логи забиты сообщениями о превышении таймаута, больше ничего. Увеличение его проблему не решило. Подскажите, в какую сторону копать? Что мониторить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 18:00 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
SQL-сервер в локальной сети в IIS-ом или соединение через интернет идет? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 18:14 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
SQL-сервер и IIS находятся в локальной сети. Игры с DNS-именем SQL-сервера (полное, краткое), а также замена на ip-адрес ни к чему не привели. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 18:31 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
Какая библиотека используется для работы с СУБД? Таймаут на установление соединения или на выполнение запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 18:37 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_sЛоги забиты сообщениями о превышении таймаута,лог со стеком давай ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 18:41 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_sЧто мониторить?IIS и приложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 18:42 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
Shocker.Pro, Проект на VB, framework 4.0, библиотека SystemData.dll Таймаут на установление соединения (если я не ошибаюсь) Timeout=200 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 20:10 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_sТаймаут на установление соединения (если я не ошибаюсь) Timeout=200так покажи сообщение об ошибке, раз сомневаешься ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2018, 20:38 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
целиком лог ошибки. п.с. сайт на вб самописный? есть понятие о том что надо соединение высвобождать? без обид но такое часто практиковали раньше. ну и сам запрос то не медленный? что самое банальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 08:34 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_sИмеется IIS, на котором размещено несколько сайтов. Есть SQL, к которому эти сайты обращаются. С некоторых пор на одном из сайтов стали появляться проблемы с коннектом к SQL. Причем все остальные работают нормально. Мониторинг SQL показывает, что до него запросы с проблемного сайта просто не доходят. Ситуация хаотичная. Перезапуск сайта или приложения помогает, но кратковременно. Существенные ограничения (вроде как) отсутствуют. Логи забиты сообщениями о превышении таймаута, больше ничего. Увеличение его проблему не решило. Подскажите, в какую сторону копать? Что мониторить? SQL один на все сайты? Сайты в одном пуле, в разных пулах? Строка подключения у сайтов разная, или одинаковая? Посмотрите очередь запросов на машине, где крутится IIS (Performance Monitor - ASP.NET - Requests Queued) посмотрите метрики соединения с SQL Server на стороне IIS (Performance Monitor - .NET Data Provider for SqlServer). Ну и Connections на самом SQL Server. Также выложите сюда целиком лог ошибки. Таймауты они разные бывают ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 08:56 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
А ещё снимите дамп с w3wp сайта проанализируйте в WinDbg на предмет того, что там у вас зависает и на чём. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 09:04 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_s, Скорее всего каждый из сайтов на IIS не освобождает DbConnection, не делает Dispose, не закрывает. И это фатальная проблема для одного из сайтов, которому тупо не достаётся коннекта из пула. Всё просто. Пишите правильный код, плохой код будет приводить вот к таким результатам, и это ещё цветочки. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 10:02 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
handmadeFromRuбез обид но такое часто практиковали раньше Лучше уж обиды, и пусть человек научиться. Чем «без обид». ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 10:05 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
hVosttСкорее всего каждый из сайтов на IIS не освобождает DbConnection, не делает Dispose, не закрывает. +1 И в исключении об этом наверняка сказано: 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. Но ТС прочитал только первое предложение ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 10:45 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
hVostt, Спасибо за совет. Действительно, такое в коде не реализовано, понадеялся на (как заявлено Microsoft!) закрытие соединений при завершении процедур. Поправлю пару километров кода, о результатах напишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 12:51 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
hVostthandmadeFromRuбез обид но такое часто практиковали раньше Лучше уж обиды, и пусть человек научиться. Чем «без обид». 50 на 50 что научиться. доку то не читают многие. vasya_s, эм где это написано у мс? там черным по белому неуправляемые ресурсы надо закрывать самому. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 15:10 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
handmadeFromRu50 на 50 что научиться. доку то не читают многие. Опыт показывает, что если нянчиться, то успешные показатели намного ниже, чем 50/50. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 15:44 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
Огромное всем спасибо! Ошибка действительно была в незакрытии DbConnection и проч. Поправил, все работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 17:01 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_s, Вы при инициализации DBConnection используете using ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2018, 17:41 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
big-duke, Вы намекаете, что надо использовать Using, т.к. [End Using Обязательное. Завершает определение блока Using и удаляет все ресурсы, которыми он управляет.]? Нет, не использую. С удовольствием воспользуюсь Вашей рекомендацией. Мне следует пользоваться конструкцией типа: Private Sub mySub Using...End Using End Sub? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 15:42 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
А вы намекаете на то, то не используете Dispose/Using для всех классов IDisposable? vasya_sПоправлю пару километров кодаПридется поправить еще с десяток мегаметров. Да и теорию почитать бы не мешало. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 15:51 |
|
Рвется соединение ASP + SQL
|
|||
---|---|---|---|
#18+
vasya_s, Да, использование этой конструкции существенно облегчит работу сайта. Вот интересное обсуждение на stackoverflow https://stackoverflow.com/questions/75401/what-are-the-uses-of-using-in-c-sharp. PS Если не секрет, то почему вы используете VB.NET , а не C#? Я свое время отказался от VB.NET, потому что его языковые конструкции отставали от C# на одно поколение. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2018, 10:20 |
|
|
start [/forum/topic.php?fid=18&msg=39642864&tid=1355224]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 433ms |
0 / 0 |