Risposte:
Sì, l'impostazione del valore di timeout di inattività su zero disabiliterà i timeout di inattività.
Stranamente questo non è documentato nei documenti MS ma la mia prova per questo deriva da:
Schema delle impostazioni IIS
Se dai un'occhiata allo schema delle impostazioni IIS in:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
La definizione dello schema per idleTimeout
under
<sectionSchema name="system.applicationHost/applicationPools">
sembra:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Se guardi l' validationParameter
attributo vediamo un intervallo da 0 a 2592000 secondi ( ,60
specifica la granularità dell'impostazione, in questo caso il valore deve essere divisibile per 60 [un minuto]).
Se vedi un valore iniziale ammissibile di 0
allora che di solito indica che l'impostazione può essere disabilitata.
Impostazioni di timeout di inattività del pool di applicazioni IIS7
Brad Kingsley è il fondatore e CEO di OrcsWeb, un hoster e partner Gold Microsoft abbastanza conosciuto, rispettato e affidabile.
Poi c'è anche l'evidenza empirica del fatto che "funziona".
Bella risposta! grazie Kev!
Un piccolo aggiornamento: l'URL che hai pubblicato è stato spostato e ora è: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
Mi chiedevo se c'è un motivo per cui questo non è il valore predefinito e se ci potrebbe essere un impatto sulle prestazioni per mantenere aperto il pool di applicazioni per troppo tempo. Bene, tenerlo su quando è inattivo non ti causerà più problemi di non riciclarlo quando c'è traffico e nessun tempo di inattività. Se sei preoccupato per perdite di memoria o altre perdite di risorse, esiste un'impostazione per forzare il riciclo in base al tempo / numero di richieste dall'ultimo riciclo / consumo di memoria. Ecco la documentazione per questo:
http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx
Ho intenzione di impostare il mio server in modo che non ricicli in modalità inattiva (idleTimeout = 0) e riciclo ogni 24 ore: Riciclaggio> Intervallo di tempo normale = 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"
}