Réponses:
Oui, la définition de la valeur du délai d'inactivité à zéro désactivera les délais d'inactivité.
Curieusement, cela n'est pas documenté dans les documents MS, mais mes preuves à ce sujet proviennent de:
Schéma des paramètres IIS
Si vous regardez le schéma des paramètres IIS dans:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
La définition de schéma pour idleTimeout
under
<sectionSchema name="system.applicationHost/applicationPools">
On dirait:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Si vous regardez l' validationParameter
attribut, nous voyons une plage de 0 à 2592000 secondes (le ,60
spécifie la granularité du paramètre, dans ce cas, la valeur doit être divisable par 60 [une minute]).
Si vous voyez une valeur de départ autorisée de, 0
cela indique généralement que le paramètre peut être désactivé.
Paramètres de délai d'inactivité du pool d'applications IIS7
Brad Kingsley est le fondateur et PDG d'OrcsWeb, un hébergeur Microsoft et un partenaire Gold assez bien connu, respecté et de confiance.
Ensuite, il y a aussi la preuve empirique du fait que "ça marche".
Très bonne réponse! merci Kev!
Petite mise à jour: l'URL que vous avez postée a été déplacée et elle est maintenant: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
Je me demandais s'il y avait une raison pour laquelle ce n'est pas la valeur par défaut, et s'il pourrait y avoir un impact sur les performances pour garder le pool d'applications ouvert trop longtemps. Eh bien, le garder en place lorsqu'il est inactif ne vous causera pas plus de problèmes que de ne pas le recycler lorsqu'il y a du trafic et qu'il n'y a pas de temps d'inactivité. Si vous êtes préoccupé par des fuites de mémoire ou d'autres fuites de ressources, il existe un paramètre pour forcer le recyclage en fonction du temps / du nombre de demandes depuis le dernier recyclage / consommation de mémoire. Voici la documentation pour cela:
http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx
Je vais configurer mon serveur pour ne pas recycler en cas d'inactivité (idleTimeout = 0) et recycler toutes les 24 heures: Recyclage> Intervalle de temps normal = 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"
}