Веб-сайты ASP.NET под IIS 7.5 (Windows 7) работают крайне медленно - PullRequest
14 голосов
/ 04 марта 2010

Я только что установил 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, размещенному на удаленном сервере).

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

Я понятия не имею, как заставить Win7 / IIS7.5 объединять подключения к базе данных.

РЕДАКТИРОВАТЬ: Я создал новое пустое веб-приложение ASP.NET, чтобы увидеть, еслипроблемы тоже случаются.Ответ - нет, он отвечает быстро, как и должно с пустой страницей по умолчанию.Может быть, что-то связано с подключением к БД.Я сделаю еще один тест.Это должен быть способ исправить это ...

РЕДАКТИРОВАТЬ 2: Отладка приложения Я заметил, что задержка происходит ПОСЛЕ выполнения кода .NET (Page_Load и т. Д.) ...поэтому задержка кажется где-то, когда IIS передает страницу в браузер.

Ответы [ 4 ]

5 голосов
/ 15 марта 2010

Для тех, у кого такая же проблема, вот два возможных решения.

  • 1) Отключение поддержки IPv6 в Firefox (только для Firefox)

Большинство авторов, которыеЯ узнал о том, чтобы предложить этот подход как самое быстрое и чистое решение.В основном вам нужно открыть настройки конфигурации в Firefox (about: config) и изменить значение network.dns.disableIPv6 на true.

  • 2) Изменить настройки localhost в файле hosts (всебраузеры)

Мне пришла в голову идея проверить, где и как я могу вмешиваться в настройки IPv6 на моем компьютере.Я видел один из комментариев в вышеупомянутых источниках о том, что можно избавиться от проблемы, просто заменив localhost на имя машины в URL.

У меня не заняло много времени, чтобы проверить и увидеть, что отключение моегоIPv6 localhost lookup делает то же самое, что и отключение IPv6 напрямую в Firefox.

Что вам нужно сделать, это в основном комментировать / удалить эту конкретную строку в вашем файле hosts:

#::1             localhost

Примечание::: 1 нотация эквивалентна IPv6 адреса поиска IPv4 127.0.0.1.

Я считаю, что второе решение может быть более подходящим для пользователей, которые не хотят отключать IPv6 в целом, и первое для всех остальных.которые все еще не используют IPv6 в своей обычной работе.

3 голосов
/ 03 апреля 2012

У меня возникла та же проблема: крайне мертвая медленная производительность сайта с использованием IIS 7.5 в 64-битной Windows 7 с Core 2 Duo с 4 ГБ ОЗУ и 3 процессами пула приложений, работающими только на 1 веб-сайте. Вот что я сделал, чтобы вернуть скорость в IIS, проблема решена ...

Уловка для меня заключалась в том, чтобы запускать IIS с использованием 32-разрядных рабочих систем в соответствии с инструкциями Microsoft на IIS.net, которые вы можете прочитать здесь:

http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/

Предоставлено простое решение (я не хочу переписывать его здесь) ... Либо вы можете запустить однострочную команду из командной строки Windows или однострочную команду из Windows PowerShell. Я только что запустил его из командной строки (убедитесь, что вы открыли командную строку или PowerShell от имени администратора - щелкните правой кнопкой мыши> Запуск от имени администратора).

Спасибо, Марти МакГи

1 голос
/ 04 марта 2010

Вы можете попробовать запустить несколько процессов как пулы приложений:

  • Открыть IIS
  • Нажмите Пулы приложений
  • Щелкните правой кнопкой мыши пул приложений для вашего приложения. и нажмите Дополнительные настройки
  • Найти «Максимальные рабочие процессы» и обновление это до 3 (или количество процессов хочешь разрешить бежать).
0 голосов
/ 19 ноября 2013

Я знаю, что операционная система работала с 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
  • Удалить папку IISExpress (на Win 7 она находится в папке Мои документы \ IISExpress)
  • Установка IIS Express 7.5 ( Ссылка на IIS Express 7.5 скачать )

IIS Express 8.0, по-видимому, устанавливается вместе с VS 2012, поэтому, если у вас была новая установка или возможно обновление пакета обновления, это могло бы обновить предыдущую версию IIS Express.

...