Respostas:
Sim, definir o valor do tempo limite inativo como zero desabilitará o tempo limite inativo.
Estranhamente, isso não está documentado nos documentos da MS, mas minha evidência disso decorre de:
Esquema de configurações do IIS
Se você der uma olhada no esquema de configurações do IIS em:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
A definição de esquema para idleTimeout
sob
<sectionSchema name="system.applicationHost/applicationPools">
parece com:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Se você olhar para o validationParameter
atributo, vemos um intervalo de 0 a 2592000 segundos (o,60
especifica a granularidade da configuração, nesse caso, o valor deve ser divisível por 60 [um minuto]).
Se você 0
vir um valor permitido inicial de , isso geralmente indica que a configuração pode ser desativada.
Configurações de tempo limite inativo do pool de aplicativos IIS7
Brad Kingsley é o fundador e CEO da OrcsWeb, que é um hoster da Microsoft e Gold Partner bastante conhecido, respeitado e confiável.
Depois, há também a evidência empírica do fato de que "simplesmente funciona".
Ótima resposta! obrigado Kev!
Uma pequena atualização: o URL que você postou mudou e agora é: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
Fiquei me perguntando se existe um motivo pelo qual esse não é o padrão e se pode haver um impacto no desempenho para manter o pool de aplicativos aberto por muito tempo. Bem, mantê-lo em marcha lenta não causará mais problemas do que não reciclá-lo quando houver tráfego e tempo ocioso. Se você estiver preocupado com vazamentos de memória ou outros recursos, há uma configuração para forçar a reciclagem com base no tempo / número de solicitações desde o último consumo de reciclagem / memória. Aqui está a documentação para isso:
http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx
Vou configurar meu servidor para não reciclar no modo inativo (idleTimeout = 0) e reciclar a cada 24 horas: Reciclagem> Intervalo de tempo regular = 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"
}