У нас было несколько экземпляров в день, когда мы получаем множество ошибок времени ожидания SQL от нескольких приложений (System.Data.SqlClient.SqlException: время ожидания истекло. Время ожидания истекло до завершения операции или сервера не отвечает.) В нашей сети более 100 различных приложений, как веб-, так и настольных. Все, от VB6 и Classic ASP до .NET 4. Я могу найти все виды данных, которые показывают побочные эффекты, но не могут точно определить причину этого. Наш администратор БД говорит, что с SQL-сервером все в порядке, а ИТ-специалисты говорят, что с веб-серверами или сетью все в порядке, поэтому, конечно, я остаюсь посередине, пытаясь устранить эту проблему.
Я просто ищу предложения о том, какие еще способы устранения неполадок я могу предпринять, чтобы попытаться отследить это.
Мы запускаем SQL Server 2008 R2 в кластере. К нему подключено несколько разных серверов, начиная от Windows Server 2003 до 2008 разных разновидностей.
Вот что я сделал до сих пор:
- Выполнение трассировки SQL для долго выполняющихся запросов и взаимоблокировок. Это не показывает взаимных блокировок во время проблем, и все долго выполняющиеся запросы совпадают с нашими ошибками тайм-аута, но выглядят как побочный эффект, не причина. Запросы, которые являются очень простыми и обычно возвращаются мгновенно, в конечном итоге занимают 30, 60 или 120 секунд. Это происходит в течение нескольких минут, после чего все начинает работать и прекрасно работает.
- Используйте системный монитор для отслеживания соединений пула соединений. Иногда это показывает некоторые всплески числа соединений, близкие к временам тайм-аутов, но все еще даже не на полпути к пределу 100 соединений по умолчанию. Опять же, здесь нет ничего, что могло бы указывать на причину.
- Разделение веб-приложений на разные пулы приложений. Мы пытались сузить приложения, которые, по нашему мнению, могут быть основной проблемой (наиболее болтливые и т. Д.), И поместить их в отдельные пулы приложений, но это не выглядит повлиять на что-либо или помочь нам сузить что-либо.
- Мониторинг использования диска на SQL Server. Мы провели некоторый мониторинг на SQL-сервере и не видим пиков или каких-либо признаков проблем при возникновении этих тайм-аутов.
- Проверено TempDB не является причиной проблемы.
Я вернусь и добавлю больше, если я подумаю о том, что еще мы попробовали. Пожалуйста, дайте мне знать о том, что делать дальше.