Тайм-аут SQL Server вызван сбоем w3wp.exe - PullRequest
2 голосов
/ 11 октября 2010

У меня есть постоянная проблема с моим веб-сайтом, где, по-видимому, происходит сбой W3wp.exe, и, в свою очередь, любой, кто пытается подключиться к сайту, получит ошибку тайм-аута SQL-сервера.

Ошибка заключается в следующем ...

System.Data.SqlClient.SqlException: истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.

Что действительно происходит, когда это происходит, загрузка ЦП на сервере максимально достигает 100% и остается там. В течение этого времени, если я попытаюсь подключиться к домашней странице, сайт будет загружаться, а затем истечет время ожидания. Это также тот случай, когда я пытаюсь подключиться к базе данных через студию управления. Я получаю вышеуказанную ошибку тайм-аута SQL от ELMAH, когда он посылает мне сообщения об исключениях. Когда я делаю iisreset, я снова могу подключиться к серверу SQL, и загрузка ЦП немедленно падает.

Теперь я уже опубликовал несколько вопросов о проблеме, связанной с исключением времени ожидания SQL. Так плохо перечислю, что я сделал и что я использую ...

• Я использую Linq to SQL. • SQLCacheDependancy. • IIS 7.5 и SQL Server 2008 R2. • Утилизация всех предметов. • Вызов dataContext из Linq to SQL всегда заключен в ключевое слово USING.

Эти ошибки тайм-аута возникают нечасто, возможно, раз в 2 дня, но сегодня, когда я встал, в моем почтовом ящике было много исключений по тайм-ауту, указывающих на то, что одна произошла за одну ночь.

Другая странность в том, что когда, например, это произошло вчера вечером, это было около 4 часов утра, когда я попробовал это сегодня утром в 8 часов утра, сайт работал нормально, поэтому мне кажется, что сверхурочно W3wp.exe, сервер SQL или оба управляют либо переработать, либо сбросить себя.

Может кто-нибудь увидеть, что может быть причиной такого поведения? или укажи мне правильное направление в чем может быть причина? или, возможно, даже возможное решение?

Любая помощь наиболее ценится

Truegilly

1 Ответ

0 голосов
/ 07 апреля 2012

Я полагаю, что тайм-аут из-за высокого пика ЦП, а не наоборот.Если ваш IIS и SQL находятся на одном компьютере, попробуйте выяснить процесс (из диспетчера задач), который загружает процессор.

Если это веб-сервер, настройте счетчики выполнения, особенно те, которые связаны сСборка мусора .NET, и посмотрите, как часто она выполняется.Также проверьте размер объекта Gen2.Вам придется собирать эти данные, начиная с момента их нормальной работы, до максимальной загрузки ЦП, и сравнивать то, что «растет» в счетчиках.Проверьте, включено ли отслеживание объектов в контексте данных, а также как долго вы используете (datacontext) {...}.

Если это sqlserver, который удерживает ЦП, попробуйте использовать после статьи Microsoft для анализа проблемы.

...