ASP.NET веб-сайты под IIS 7.5 (Windows 7) работают очень медленно
Я только что установил Windows 7 x64 Ultimate на своем настольном ПК. У меня установлен IIS в Visual Studio 2008 с, зарегистрированы ASP.NET и т. д.
У меня есть это ASP.NET 3.5 веб-сайт я работаю над очень медленным запуском этого нового IIS. На серверах STA и PROD (Windows 2003 Server) и на моем старом XP/IIS 5.1 все работает гладко.
страница, которая обычно занимает 1-2 секунды для загрузки, занимает 8 секунд!!!
Я видел этот пост на форуме IIS. Он говорит что-то о Vista/7, не объединяющих соединения (просто чтобы вы знали, веб-сайт работает локально, но он подключается к SQL Server 2005, размещенному на удаленном сервере).
кажется, что требуется некоторое время, чтобы" начать загрузку " страницы... Я имею в виду, я нажимаю обновить, и он остается в течение нескольких секунд "ожидание localhost"... Потом, когда он получает ответ, он загружает всю страницу нормально...
Я понятия не имею, как заставить Win7/IIS7.5 в пул базы данных подключение.
EDIT: я создал новый пустой ASP.NET веб-приложение, чтобы увидеть, если проблемы происходят тоже. Ответ "нет", он отвечает быстро, как надо с пустой страницей по умолчанию. Возможно, это связано с подключением к БД. Я сделаю еще один тест. Это должен быть способ исправить это...
EDIT 2: отладка приложения я заметил, что задержка происходит после выполнения кода .NET (Page_Load и т. д.)... так что задержка кажется где-то, когда IIS обслуживает страницу в браузере.
4 ответов
для тех, кто имеет такую же проблему, вот два возможных решения.
- 1) Отключение поддержки IPv6 в Firefox (только для Firefox)
большинство авторов, о которых я узнал, предлагают этот подход как самое быстрое и чистое решение. То, что вам нужно сделать-это просто открыть настройки в Firefox (о:config) и изменить сеть.служба DNS.disableIPv6 значение true.
- 2) Изменение настроек localhost на хостах файл (все браузеры)
это пришло ко мне как идея проверить, где и как я могу вмешиваться в настройки IPv6 на моей машине. Я видел один из комментариев к вышеупомянутым источникам, говорящий, что можно избавиться от проблемы, просто заменив localhost на имя машины в url.
мне не потребовалось много времени, чтобы проверить и увидеть, что отключение моего IPv6 localhost lookup делает то же самое, что и отключение IPv6 непосредственно в Firefox.
что вам нужно сделать, это в принципе комментировать / удалить эту строчку в файле hosts:
#::1 localhost
Примечание::: 1 обозначение является эквивалентом IPv6 адреса поиска IPv4 127.0.0.1.
Я считаю, что второе решение может быть более подходящим для пользователей, которые не хотят отключать IPv6 в целом, и первое для всех других, которые все еще не используют IPv6 в своей обычной работе.
У меня была та же проблема: чрезвычайно низкая производительность сайта с использованием IIS 7.5 в Windows 7 64-бит с Core 2 Duo с 4GB RAM и 3 процессами пула приложений, работающими только на 1 веб-сайте. Вот что я сделал, чтобы вернуть скорость в IIS, проблема решена...
трюк для меня состоял в том, чтобы запустить IIS с использованием 32-разрядных рабочих, как указано Microsoft на IIS.net, который вы можете прочитать здесь:
http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/
простое решение (я не хочу переписывать его здесь)... Можно выполнить команду 1 строки из командной строки Windows или команду 1 строки из Windows PowerShell. Я просто запустил его из командной строки (убедитесь, что вы открыли командную строку или PowerShell как администратор-щелкните правой кнопкой мыши > Запуск от имени администратора).
спасибо, Марти Макги
вы можете попробовать запустить несколько процессов в качестве пулов приложений:
- открыть IIS
- Нажмите Кнопку Пулы Приложений
- щелкните правой кнопкой мыши пул приложений для вашего приложения и нажмите Дополнительные настройки
- найти "Максимальные рабочие процессы" и обновление это до 3 (или количество процессов вы хотите, чтобы запустить).
Я знаю, что op запускал IIS 7.5, и это может не относиться к нему, но я публикую это, поскольку это может помочь другим работать IIS Express 8.0
. У меня была та же проблема, и ни одно из изменений файлов IPv6 или hosts не работало для меня. Мой asp.net проект MVC4 был очень медленным после нажатия F5, чтобы обновить изменения js на localhost. Это происходило во всех браузерах-Chrome, FF и IE. В конце концов я обнаружил, что IIS Express 8.0 чрезвычайно медленный при обслуживании JS-файлов и кажется ошибкой. Если бы я убежал ... iisexpress в командной строке и нажмите F5 я мог видеть, что каждый файл js занял 4 или 5 секунд для загрузки.
Я закончил удаление IIS 8.0 и установка IIS express 7.5 и сразу проблема была исправлена. Вот шаги, которым я следовал:
- удалить IIS express 8.0
- удалить папку IISExpress (на Win 7 это в Моих документах\IISExpress)
- установить IIS express 7.5 (ссылка на IIS Express 7.5 скачать)
IIS Express 8.0, похоже, установлен с VS 2012, поэтому, если у вас была новая установка или, возможно, обновление пакета обновления, это может обновить предыдущую версию IIS Express.