it-swarm.com.de

Wie deaktiviere ich das Zeitlimit für den Anwendungspool im Leerlauf in IIS7?

Wird es deaktiviert, wenn ich das Leerlauf-Timeout auf 0 setze?

143
123

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".

183
Kev

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

11
Shay Mandel
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" 
}
1
user6470603