2009-02-05 2 views
1

У меня есть веб-приложение IIS7, которое в основном обслуживает запросы веб-сервисов. В рамках нашего решения мы имеем два веб-сервера и балансировщик нагрузки, а балансировщик нагрузки периодически запрашивает страницу из каждого из своих балансированных нагрузок. На странице Балансировщика нагрузка нагрузки называется «Health.aspx», он делает не есть код позади, и все содержимое файла Health.aspx является:Любые известные проблемы, связанные с пустыми * .aspx страницами с IIS7?

OK 

Однако мы наблюдаем иногда 400 ошибок от балансировщика нагрузки при запросе этой страницы в течение дня, что приводит к тому, что балансировщик нагрузки выталкивает машину из своего вращения в течение определенного периода времени.

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

ответ

0

Оказывается, проблема заключалась в простом количестве запросов и несвоевременном времени отклика (или действительно запрос время - наши клиентские соединения очень медленные) для обработки запросов. Запросы на Health.aspx увязывались с медленными клиентскими соединениями, а значение по умолчанию MaxConcurrentRequestsPerCPU из 12 искусственно ограничивало наше фактическое количество запросов/секунду. Увеличение этого числа до 100 - на основе тщательного тестирования нашего оборудования от нагрузки для нашего конкретного приложения - решило проблему.

1

Вы должны создать Health.html и просто использовать это вместо этого. Это также даст вам некоторое представление о том, дает ли ASP.NET 400 проблем или IIS.

+0

Я предложил это и, надеюсь, мы будем использовать этот метод для устранения неполадок. – cfeduke

1

«400 ошибок» охватывают широкий круг потенциальных проблем, от простого не найдены 404 плохого запросу 401 и 403. запрещен

Некоторые из них могут быть вызваны плохими сетевыми кабелями, сетевыми картами, паршивый нагрузки балансировщик, перегруженный сервер (ы) и т. д.

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

Смежные вопросы