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

Windows Server 2008 - IIS 7 - ASP.NET - Переходит ли мой веб-сервер в спящий режим? Как мне не дать ему уснуть?

Кажется, что мои сайты asp.net на моем веб-сервере очень медленно загружаются, если к ним не обращались какое-то время.

Переходит ли процессор ASP.NET в режим ожидания или сна, если он не использовался в течение определенного периода времени?

Лучше ли мне исправить это, настроив ASP.NET или написав какую-нибудь программу для частого посещения моих сайтов, чтобы он не заснул?

В зависимости от вашей конфигурации пул приложений, назначенный вашему приложению ASP.net, AppPool будет повторно использоваться в определенное время дня или после определенного количества запросов. Как только это произойдет, он заставит ASP.net перекомпилировать сайт. Есть хороший обзор компиляции ASP.net на MSDN.

По StackOverfolow также есть несколько вопросов:

Я использую два шага, чтобы сделать это лучше:

  1. По возможности старайтесь избегать повторного использования пула приложений в то время, когда кто-то собирается использовать сайт. Вы должны определить это, используя Гугл Аналитика или другой пакет регистрации трафика.
  2. Настройте что-нибудь, чтобы попасть на ваш сайт вскоре после того, как ваш пул приложений будет переработан, я использую PolyMon в значительной степени для моих локальных серверов, поэтому у меня есть монитор, который проверяет работоспособность сайта каждые 5 минут, который выполняет эту работу за меня. я использовал SPWakeUp для сайтов SharePoint, которые, вероятно, можно было бы адаптировать для любого сайта ASP.net.

В качестве примера, если вы смогли определить, что ваш сайт редко используется в 0200, вы можете настроить свой пул приложений следующим образом (IIS Config -> Щелкните правой кнопкой мыши пул приложений -> Щелкните «Recycling ...»):


(источник: richard-slater.co.uk)

Вышеупомянутый диалог взят из Windows 7, однако я не думаю, что диалог сильно изменился между Windows 2008 и Windows 7/2007 R2.

Возможно, пул приложений простаивает. Вы можете изменить настройку времени простоя на 0 (ноль), что эффективно отключает время ожидания, чтобы пул приложений никогда не отключался из-за простоя. Вы можете найти этот параметр в графическом интерфейсе в расширенных настройках. См. Это сообщение в блоге: http://brad.kingsleyblog.com/IIS7-Application-Pool-Idle-Time-out-Settings. Вы также можете использовать такой инструмент, как smartping (я не использовал id) http://forums.smartertools.com/showthread.php/8511-SmarterPing-Website-Keep-Alive-Utility. Также появился новый модуль от Microsoft, работающий с IIS7.5. http://www.iis.net/downloads/microsoft/application-initialization информация здесь http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization#TOC301259898