Назад | Перейти на главную страницу

Почему моя веб-страница не загружается каждый раз полностью?

У меня есть сайт интрасети, работающий на IIS 7. Когда я пытаюсь загрузить свой сайт, он каждый раз реагирует по-разному. Вот следующие различные сценарии, которые возникают, когда я пытаюсь загрузить свой сайт:

  1. Сайт загружается сразу и работает исправно
  2. Сайт загружается медленно, и некоторые мои стили / изображения / javascript не загружаются правильно.
  3. Я получаю сообщение об ошибке "503 служба недоступна"

Есть идеи, почему это происходит?

Итак, наконец, моя проблема была решена. Проблема была в конфигурации IIS, максимальное количество подключений было установлено равным 5. Простое увеличение решало ошибку.

Ваш первый шаг в определении того, почему это происходит, - это сбор информации.

Если у вас есть доступ к серверу физически или через RDP, вы можете использовать perfmon для анализа производительности сервера.

Вот несколько статей о том, как это сделать (обратите внимание, что это для 2003 года, но на самом деле это не сильно изменилось для 2008/2008 R2):

Использование системного монитора (PerfMon) с приложениями ASP.NET (IIS 6.0)

Счетчики производительности для IIS

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

полное описание ошибки:

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

На вашем сервере может произойти одна вещь: все 80+ портов, которые получает сервер, имеют приоритет над портом 80. Тот же порт, на котором работает ваш веб-сайт.

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

netsh http show urlacl

если вы получите запись примерно так:

Reserved URL : http://+:80/
...

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

netsh http delete urlacl url=http://+:80/

источники:

http://haacked.com/archive/2007/05/21/the-iis-7-team-rocks.aspx

http://haacked.com/archive/2007/05/18/service-unavailable-errors-in-iis-7-are-killing-me.aspx