Подтвердить что ты не робот

Сетчатый период ожидания

Недавно я очистил и переустановил/настроил все компоненты моих веб-серверов и серверов БД. Я запускаю IIS 6,.NET 3.5, SQL Server 2005. Два сервера представляют собой отдельную виртуальную машину в том же домене. Мое веб-приложение прекрасно работает... 90% времени. Но время от времени я получаю эту ошибку или общую ошибку времени выполнения:

System.Data.SqlClient.SqlException: при получении результатов с сервера произошла ошибка транспортного уровня. (поставщик: поставщик TCP, ошибка: 0 - период таймаута семафора истек.)

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

Спасибо заранее!

4b9b3361

Ответ 1

После устранения неполадок в течение нескольких часов и сидения на телефоне с моей группой хостинга они обнаружили, что возникла проблема с их сетевой конфигурацией. Решение стало более ясным, когда во время моего тестирования одна из виртуальных машин внезапно не смогла найти домен, а простой "пинг" на IP-адрес каждого окна из другого иногда будет отсутствовать. Это полностью исключало DNS. После того, как группа хостинга применила правильную конфигурацию на своем конце, приложение было стабильным и FAST!

Спасибо за помощь!

Ответ 2

Вы можете проверить нагрузку на сервере db? Мы получаем их время от времени в нашем dev env, но никогда в prod env.

Ответ 3

Хорошо, я бы начал с обеспечения того, что у меня установлена ​​последняя версия драйверов сети виртуальной машины.

Похоже, что comms не работает между вашим 2 VMS. Попробуйте открыть TCP-сокет между двумя машинами и посмотреть, не истечет ли он через определенное время.

Ответ 4

Несколько указателей здесь. В основном ошибка генерируется сетевым уровнем, а SQL-сервер - просто сообщая об этом.

Надеюсь, что это поможет.

Ответ 5

проверить, имеет ли хранимая процедура какую-либо строку УСТАНОВИТЬ УРОВЕНЬ ИЗОЛЯЦИИ УСТАНОВКИ НЕ ПРОПУСТИТЕ

Для меня это была проблема

Ответ 6

Поздно к игре, но я получал ту же ошибку с веб-приложением .NET/MS SQL. Сайт размещен в IIS на GoDaddy VPS, хостинг имеет несколько IP-адресов, БД размещена в Azure.

Я считаю, что моя проблема была (идиот!), Я просто забыл поместить выделенные IP-адреса сайта GD из GD в брандмауэр Azure для сервера SQL. По какой-то странной причине трафик поступает в/из GD/Azure за пределами фактического IP-адреса веб-сайта (адреса привязки IIS) и работает.

Но чаще всего фактические адреса привязки IIS обращаются к Azure для взаимодействия со службами SQL. Я исправил настройки брандмауэра в Azure, добавив в него правильные IP-адреса от GoDaddy и (стук по дереву) ошибка семафора, похоже, исчезла.

Другими словами, прежде чем вы начнете искать большие проблемы, начните с простого и обязательно проверьте простые вещи, такие как настройки сети/брандмауэра.

Ответ 7

Я опубликую свой опыт на случай, если он кому-нибудь может помочь;)

В конце года я просто пытался удаленно подключиться к нашим серверам из какого-то места, используя мой телефон. Я заметил, что не могу войти на один сервер Windows через удаленный рабочий стол (черный экран) и не могу подключиться из приложения Windows к тому же серверу.

Как только я переключился со своего телефона на другое соединение (через мобильный роутер NightHawk M1), все было хорошо.

Как я уже читал, речь идет в основном о проблемах с сетью, поэтому НЕ ПАНИКУЙТЕ и не пытайтесь найти виновных там.

Надеюсь, это поможет, R