Ответы:
Да, установка значения времени простоя на ноль отключит время простоя.
Как ни странно, это не задокументировано в документации MS, но мои доказательства этого вытекают из:
Схема настроек IIS
Если вы посмотрите на схему настроек IIS в:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
Определение схемы для idleTimeout
под
<sectionSchema name="system.applicationHost/applicationPools">
это выглядит как:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Если вы посмотрите на validationParameter
атрибут, мы увидим диапазон от 0 до 2592000 секунд ( ,60
указывает гранулярность настройки, в этом случае значение должно делиться на 60 [одну минуту]).
Если вы видите начальное допустимое значение, 0
то это обычно означает, что настройка может быть отключена.
Брэд Кингсли - основатель и генеральный директор OrcsWeb, который является довольно известным, уважаемым и заслуживающим доверия хостером Microsoft и Золотым партнером.
Тогда есть также эмпирическое доказательство того факта, что это «просто работает».
Отличный ответ! спасибо Кев!
Небольшое обновление: URL-адрес, который вы разместили, перемещен, и теперь он: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
Мне было интересно, есть ли причина, по которой это не по умолчанию, и может ли это повлиять на производительность, если пул приложений будет открыт слишком долго. Что ж, поддержание его в бездействующем состоянии не доставит вам больше хлопот, чем его утилизация при отсутствии трафика и простоя. Если вас беспокоят утечки памяти или другие утечки ресурсов, есть настройка принудительной перезапуска на основе времени / количества запросов с момента последней перезапуска / потребления памяти. Вот документация для этого:
http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx
Я собираюсь настроить свой сервер на отсутствие перезапуска на холостом ходу (idleTimeout = 0) и перезапуск каждые 24 часа: переработка> Регулярный интервал времени = 1440
Import-Module WebAdministration
$pools = Get-ChildItem iis:\apppools
foreach ($pool in $pools)
{
$poolname = $pool.Name
Set-ItemProperty IIS:\AppPools\$poolname -name processModel -value @{idletimeout="20"}
Set-ItemProperty IIS:\AppPools\$poolname -name processModel -value @{idletimeoutaction="Suspend"}
set-ItemProperty IIS:\AppPools\$poolname -Name Recycling.periodicRestart -Value @{time="0"}
set-ItemProperty IIS:\AppPools\$poolname -Name Recycling.periodicRestart.schedule -Value @{value="02:00:00"}
Set-ItemProperty IIS:\AppPools\$poolname -name Recycling -value @{logEventOnRecycle="Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"}
Write-Host "Updated $poolname settings"
}