Это старый вопрос, но у меня был какой-то недавний опыт с этим, и я решил опубликовать его. В зависимости от ситуации вы можете сделать несколько вещей.
Причина, по которой он медленен, заключается в том, что рабочий процесс IIS переходит в спящий режим после определенного периода времени. Настройка для этого называется Idle Timeout и может быть установлена в 0, если вы хотите отключить эту функцию. Но я бы исследовал это, прежде чем вносить подобные изменения.
Кроме того, когда IIS запускается, он регистрирует библиотеки DLL в вашей корзине. Если у вас небольшой сайт, вероятно, не так уж много DLL (кроме стандартных .NET DLL). Если у вас много (, возможно, несколько неиспользованных ) DLL, они все равно должны быть обработаны. Если вы удалите старые библиотеки DLL / Code , IIS больше не будет тратить время на их обработку и будет быстрее перезагружаться.
У нас есть сайт DotNetNuke, в котором было около 35 «устаревших» модулей, которые больше не использовались, но все еще находились в папке / bin. Мы удалили модули и библиотеки DLL из / bin, и время перезапуска сайта сократилось вдвое.
Еще одна вещь. Вы можете настроить страницу Keep Alive , которая периодически загружается, чтобы сайт не закрывался. Я знаю, что наш хостинг-провайдер предлагает эту услугу. У нас есть простая ASPX-страница на сайте, которую они посещают каждые 30 минут, чтобы убедиться, что сайт остается загруженным в память.