9

Я использую ASP.Net4 MVC2 для своего приложения. Первый человек, использующий приложение, обычно испытывает долгое ожидание до того, как приложение ответит. После этого приложение довольно отзывчивое. Если приложение простаивает в течение 15 минут, то одно и то же лицо или следующий человек, использующий приложение, снова будут долго ждать. Похоже, приложение компилируется после простоя в течение 15 минут. Может ли кто-нибудь сказать мне, где я должен искать проблемы с проблемой? Благодарю.приложение составляет каждые 15 минут

ответ

8

Это почти наверняка то, что вы испытываете, это app pool recycling. Это правда, что требуется некоторое время для повторной инициализации после того, как пул был переработан, но это не должно длиться так долго. Как долго длится «ожидание»? Второй? Несколько? В IIS вы можете настроить, как регулярно перерабатывается ваш пул приложений. Для IIS 7 щелкните правой кнопкой мыши на вашем пуле приложений и выберите «Дополнительные настройки», затем просмотрите «Idle Time-Out». Вы можете подумать об увеличении этого значения. (Или полностью отключить 0)

+0

Я установил рециркуляцию приложение бассейн на 1am каждый день, но это все еще происходит в рабочее время после некоторого короткого периода простоя. Ожидание от 30 секунд до 1 минуты. – user266909

+1

@ user266909, но вы настроили «Idle Time-out»? –

6

Перед тем, как приступить к реализации, вам необходимо точно диагностировать проблему. Сначала нужно подтвердить, если это, по сути, утилизация пула приложений. Вы можете начать добавлять этот раздел к вашему web.config:

<healthMonitoring> 
     <rules> 
     <add name="Application Lifetime Events Default" 
      eventName="Application Lifetime Events" 
      provider="EventLogProvider" 
      profile="Default" 
      minInstances="1" 
      maxLimit="Infinite" 
      minInterval="00:01:00" 
      custom="" /> 
     </rules> 
</healthMonitoring> 

Он регистрирует событие в Журнал событий Windows в любое время asp.net перерабатывает себя. Он также даст причину для утилизации (например, кто-то ткнул web.config и т. Д.). Если это is a recycle, то вам нужно выяснить почему это утилизация. Это потому, что IIS настроен на это, несмотря ни на что? Это связано с тем, что ваше приложение неправильно обрабатывает память и давление в памяти вызывает asp.net, чтобы захотеть переработать себя? На эти вопросы нужно ответить в первую очередь.

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

+0

В каком разделе в web.config я должен поставить ? Благодарю. – user266909

+1

Поместите его как прямой дочерний элемент - http://msdn.microsoft.com/en-us/library/2fwh2ss9.aspx –

Смежные вопросы