Первый запрос очень медленный после того, как сайт простаивает с Asp.net mvc IIS6 - PullRequest
12 голосов
/ 14 сентября 2009

У меня есть проект в asp.net mvc, мой хостинг использует IIS6, и первый запрос после простоя сайта очень медленный. Я посмотрел на http://forums.asp.net/t/1418959.aspx и попросил у хостинга эти настройки. Они говорят, что фактические настройки:

"Пул установлен с отключенным тайм-аутом простоя, включенным быстрым отказом и одним рабочим процессом."

Но все еще медленно при первом запросе. У вас есть какие-нибудь другие подсказки?

Заранее спасибо,

Alfredo

Ответы [ 3 ]

8 голосов
/ 14 сентября 2009

Вы, вероятно, жертва переработки рабочего процесса . Спросите у своего хоста, как часто рабочие процессы перерабатываются.

Когда рабочий процесс перезапускается, он должен перекомпилировать и перезапустить все веб-приложение, и именно это приводит к замедлению.

6 голосов
/ 14 сентября 2009

Это естественно.

Служба IIS часто настроена на отключение веб-сайта, если он достиг определенного возраста или если в течение некоторого времени не было запроса. Ваш веб-сайт должен быть загружен (и, возможно, скомпилирован), когда первый запрос приходит после того, как IIS отключил asp.net.

Распространенным решением является прекомпиляция вашего сайта перед публикацией его на сервере.

2 голосов
/ 14 сентября 2009

Просто предположение, но, возможно, вы кэшируете некоторые данные, которые необходимо обновить после того, как сайт простаивал в течение некоторого времени?

Если это не так, то я предполагаю, что рабочий процесс по какой-то причине был остановлен (это может быть по какой-то другой причине, кроме времени простоя в IIS). Если вам нужно проверить, так ли это, вы можете добавить некоторый код в событие Application_Start, которое регистрирует событие запуска в файле или в любой другой имеющейся записи. Через некоторое время работы вы можете просмотреть журналы и посмотреть, сколько событий Application_Start произошло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...