Wird es deaktiviert, wenn ich das Leerlauf-Timeout auf 0 setze?
Ja, wenn Sie den Wert für das Zeitlimit für Leerlauf auf Null setzen, werden die Zeitlimits für Leerlauf deaktiviert.
Seltsamerweise ist dies nicht in den MS-Dokumenten dokumentiert, aber meine Beweise dafür ergeben sich aus:
IIS-Einstellungsschema
Wenn Sie sich das IIS Einstellungsschema ansehen, in:
C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
Die Schemadefinition für idleTimeout
unter
<sectionSchema name="system.applicationHost/applicationPools">
es sieht aus wie:
<attribute name="idleTimeout"
type="timeSpan"
defaultValue="00:20:00"
validationType="timeSpanRange"
validationParameter="0,2592000,60"/>
Wenn Sie sich das validationParameter
Attribut ansehen, sehen wir einen Bereich von 0 bis 2592000 Sekunden (das ,60
Gibt die Granularität der Einstellung an, in diesem Fall muss der Wert durch 60 teilbar sein [eine Minute] ).
Wenn Sie einen zulässigen Startwert von 0
Sehen, bedeutet dies normalerweise, dass die Einstellung deaktiviert werden kann.
Einstellungen für das Leerlaufzeitlimit des IIS7-Anwendungspools
Brad Kingsley ist der Gründer und CEO von OrcsWeb. Er ist ein ziemlich bekannter, angesehener und vertrauenswürdiger Microsoft-Hoster und Gold-Partner.
Dann gibt es auch den empirischen Beweis dafür, dass es "einfach funktioniert".
Gute Antwort! danke Kev!
Ein kleines Update: Die von Ihnen gepostete URL ist umgezogen und lautet jetzt: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/
Ich habe mich gefragt, ob es einen Grund gibt, warum dies nicht die Standardeinstellung ist, und ob sich dies möglicherweise auf die Leistung auswirkt, wenn der Anwendungspool zu lange geöffnet bleibt. Wenn Sie im Leerlauf weitermachen, werden Sie nicht mehr Probleme haben, als wenn Sie das Gerät nicht recyceln, wenn es verkehrsreich ist und keine Leerlaufzeiten gibt. Wenn Sie sich Sorgen über Speicherlecks oder andere Ressourcenlecks machen, können Sie das Recycling basierend auf der Zeit/Anzahl der Anforderungen seit dem letzten Recycling/Speicherverbrauch erzwingen. Hier ist die Dokumentation dafür:
http://technet.Microsoft.com/en-us/library/cc753179 (v = ws.10) .aspx
Ich werde meinen Server so einstellen, dass er im Leerlauf nicht wiederverwendet wird (idleTimeout = 0) und alle 24 Stunden wiederverwenden: Wiederverwenden> Regelmäßiges Zeitintervall = 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"
}