Веб-сайты ASP.NET под IIS 7.5 (Windows 7) работают очень медленно
Я только что установил Windows 7 x64 Ultimate на свой настольный ПК. Я установил IIS, Visual Studio 2008, зарегистрировал ASP.NET и т.д.
У меня есть этот веб-сайт ASP.NET 3.5. Я работаю над запуском EXTREMELY медленно в этом новом IIS. На серверах STA и PROD (Windows 2003 Server), а на моем старом XP/IIS 5.1 все работает плавно.
Страница, которая обычно занимает 1-2 секунды для загрузки, занимает 8 секунд.
Я видел этот пост на форуме IIS. В нем говорится о том, что Vista/7 не объединяет соединения (просто чтобы вы знали, сайт работает локально, но он подключается к SQL Server 2005, размещенному на удаленном сервере).
Кажется, что требуется "начать загрузку" страницы... Я имею в виду, я нажимаю кнопку "Обновить", и она остается в течение нескольких секунд "Ожидание локального хоста"... Затем, когда он получает ответ, он загружает всю страницу как правило,...
У меня нет подсказки, как заставить Win7/IIS7.5 объединять подключения к базе данных.
РЕДАКТИРОВАТЬ: Я создал новое пустое веб-приложение ASP.NET, чтобы проверить, не возникли ли проблемы. Ответ отрицательный, он реагирует быстро, как следует, на пустую страницу по умолчанию. Возможно, что-то связано с соединением БД. Я сделаю еще один тест. Это должен быть способ исправить это...
РЕДАКТИРОВАТЬ 2: Отладка приложения. Я заметил, что задержка возникла ПОСЛЕ выполнения .NET-кода (Page_Load и т.д.)... поэтому задержка, похоже, где-то, когда IIS обслуживает страницу до браузера.
Ответы
Ответ 1
Для тех, у кого есть та же проблема, здесь два возможных решения.
- 1) Отключение поддержки IPv6 в Firefox (только для Firefox)
Большинство авторов, о которых я узнал, предлагают этот подход как самое быстрое и чистое решение. Что вам нужно сделать, это в основном открыть настройки конфигурации в Firefox (about: config) и изменить значение параметра network.dns.disableIPv6 равным true.
- 2) Изменение настроек локального хоста в файле hosts (все браузеры)
Это пришло ко мне как идея проверить, где и как я могу вмешиваться в настройки IPv6 на моей машине. Я видел один из комментариев по вышеупомянутым источникам, говорящий, что можно избавиться от проблемы, просто заменив localhost на машинное имя в URL-адресе.
Мне не нужно было долго проверять и видеть, что отключение моего IPv6-поиска в локальном хосте делает то же самое, что отключать IPv6 непосредственно в Firefox.
Что вам нужно сделать, это в основном прокомментировать/удалить эту конкретную строку в файле hosts:
#::1 localhost
Примечание: 1 нотация эквивалентна IPv6 адресу поиска IPv4 127.0.0.1.
Я считаю, что второе решение может быть более подходящим для пользователей, которые не хотят отключать IPv6 в целом, и первый для всех остальных, которые все еще не используют IPv6 в своей обычной работе.
Ответ 2
У меня была одна и та же проблема: чрезвычайно медленная медленная производительность сайта с использованием IIS 7.5 на 64-разрядной версии Windows 7 с Core 2 Duo с 4-гигабайтной оперативной памятью и 3 процессами пула приложений, работающими всего на одном веб-сайте. Вот что я сделал, чтобы вернуть скорость в IIS, проблема решена...
Трюк для меня заключался в том, чтобы запустить IIS с использованием 32-разрядных рабочих, как указано Microsoft на IIS.net, которые вы можете прочитать здесь:
http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/
Предоставлено простое решение (я не хочу переписывать его здесь)... Либо вы можете запустить команду из 1 строки из командной строки Windows или 1-строчную команду из Windows PowerShell. Я просто запускал его из командной строки (убедитесь, что вы открыли Command Line или PowerShell в качестве администратора - щелкните правой кнопкой мыши > Запуск от имени администратора).
Спасибо,
Марти Макги
Ответ 3
Вы можете попробовать запустить несколько процессов в виде пулов приложений:
- Открыть IIS
- Нажмите "Пулы приложений"
- Щелкните правой кнопкой мыши пул приложений для вашего приложения.
и нажмите "Дополнительные параметры"
- Найдите
"Максимальные рабочие процессы" и обновление
это до 3 (или количество процессов
вы хотите разрешить запуск).
Ответ 4
Я знаю, что в op был запущен IIS 7.5, и это может не относиться к нему, но я публикую это, так как это может помочь другим, выполняющим IIS Express 8.0
. У меня была та же проблема, и ни одна из изменений файла IPv6 или хостов для меня не работала. Мой проект 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, похоже, устанавливается с VS 2012, поэтому, если у вас была новая установка или, возможно, обновление пакета обновления, это может привести к обновлению предыдущей версии IIS Express.