Как отладить возможную проблему тайм-аута / производительности? - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть сайт, который развернут на двух серверах с балансировкой нагрузки. Только на одном из серверов я иногда вижу исключения, связанные с тайм-аутом или производительностью. Они происходят на разных страницах, в разных вызовах функций. Примеры исключений включают в себя:

System.Net.WebException: запрос был прерван: запрос был отменен.

System.Net.WebException: истекло время ожидания операции

System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленным хостом

System.Web.HttpException: истекло время ожидания запроса.

Когда я получаю информацию из трассировки стека, похоже, что они связаны с вызовами веб-службы, размещенной на том же наборе серверов с балансировкой нагрузки. Страница может выдать исключение по одному запросу, а затем не по другому запросу. Я уже использую ELMAH на сайте, поэтому я знаю, что происходят ошибки.

Я действительно не знаю, как начать отлаживать это. У меня нет прямого доступа к рабочим серверам - любые запросы на информацию должны проходить через клиента и должны быть достаточно конкретными. Есть предложения?

Изменить: на этих двух серверах есть другие сайты, которые используют те же веб-сервисы и не показали никаких проблем.

Ответы [ 2 ]

1 голос
/ 31 декабря 2010

Если тот же сайт запущен и работает без ошибок на другом сервере, то «отладка» программистами не будет полезна. Вам нужно больше думать как системный администратор и, вероятно, работать вместе с ним.

Сначала вам понадобится то, что отличается между двумя серверами, и это может включать:

  • Аппаратная конфигурация и емкость
  • Конфигурация ОС и базовых систем и версии.
  • Другое программное обеспечение работает одновременно.
  • Конфигурация балансировщика нагрузки и / или режим работы
  • Некоторая асимметрия в сети с точки зрения двух серверов

Пока вы просматриваете это, убедитесь, что работники производства (минимум):

  • Измерения загрузки процессора
  • Измерения нагрузки ввода / вывода
  • Монитор БД, веб-сервера и других базовых компонентов
  • Журнал системы и приложений (и просмотр их)

Надеемся, что после этого вы сможете соотнести события тайм-аута с другой характеристикой системы.

НТН!

1 голос
/ 30 декабря 2010

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

Другими факторами являются перегрузка сети и ресурсы ЦП сервера (как веб-, так и БД) во время тайм-аута для определения любогодругие потенциальные бутылочные соединения.

...