2009-06-23 4 views
2

Wir verfolgen ein Verbindungsleck in einer Anwendung, die in IIS gehostete Remoting verwendet, um verwaiste Verbindungen zu löschen, für die zu bestimmten Tageszeiten ein AppPool-Recycling geplant wurde. Ich sehe jedoch keine Beweise dafür, dass diese Wiederverwendung gemäß dem Zeitplan erfolgt. - Ich habe die Metabasis-Eigenschaft geändert, sodass IIS alle Wiederverwendungen protokolliert und manuelle Wiederherstellungsbefehle protokolliert.IIS App Pool-Rezyklierungen scheinen den angegebenen Zeitplan nicht einzuhalten

Was könnte IIS davon abhalten, den Zeitplan einzuhalten?

+0

Wie wissen Sie, dass der App-Pool wird nicht recycelt werden? Bleibt die Prozess-ID gleich? – Kev

+0

Kann das nicht bestätigen - aber wenn ich manuell recycle, sehe ich einen Rückgang der Anzahl der Verbindungen vom Server zur Datenbank. Zu den geplanten Zeiten tritt kein solcher Abfall auf. – Rikalous

+0

Ich beobachtete die Prozess-IDs um die geplante Recyclingzeit und ich lag falsch - der Zeitplan wird beobachtet. – Rikalous

Antwort

4

Wenn Sie einen Anwendungspool-Recycling (auf geplanter Basis) ausführen, wird ein neuer Arbeitsprozess (w3wp.exe) gestartet. Der vorhandene Arbeitsprozess wird beibehalten, um vorhandene Anforderungen zu bearbeiten und dann herunterzufahren, wenn keine weiteren Anforderungen mehr vorhanden sind. Alle neuen Anforderungen werden an den neuen Arbeitsprozess gesendet.

Sie können überprüfen, ob der Anwendungspool, den Sie recyceln, ein neuer w3wp.exe-Prozess ist. Sie können dies tun, indem Sie die folgenden IIS Admin-Skript:

c:>iisapp.vbs 
W3WP.exe PID: 5924 AppPoolId: MSSharePointAppPool 
W3WP.exe PID: 2840 AppPoolId: Problem Sites - ASP.NET 2.0 
W3WP.exe PID: 2576 AppPoolId: DefaultAppPool 
W3WP.exe PID: 6076 AppPoolId: ASP.NET 2.0 
W3WP.exe PID: 4916 AppPoolId: Problem Sites - ASP.NET 1.1 

Notieren Sie den Prozess-IDs vor und nach der geplanten Wiederverwendungszeit zu sehen, wenn sie sich ändern.

Möglicherweise müssen Sie Folgendes verwenden: cscript iisapp.vbs, wenn cscript nicht der Standard-WSH-Skripthost ist.

Wenn ein Anwendungspool rezykliert Sie auch das folgende Ereignis in Ihrem Systemereignisprotokoll sehen sollen:

in den Idle timout (Application Pool-Eigenschaften angegeben
Event Type: Warning 
Event Source: W3SVC 
Event Category: None 
Event ID: 1013 
Date:  22/06/2009 
Time:  19:18:09 
User:  N/A 
Computer: UK1SRD1602 
Description: 
A process serving application pool 'ASP.NET 2.0' exceeded time limits during 
shut down. The process id was '2788'. 

Dieses Ereignis nach der Anzahl der Minuten erscheinen -> Registerkarte Leistung) und die Länge der Zeit, die der vorhandene Arbeitsprozess benötigt, um ausstehende Anforderungen abzuschließen, und die letzte ASP.NET-Anwendungsdomäne wird abgerissen (vorhandene ASP.NET-Sitzungen werden vom alten Arbeitsprozess bedient, bis keine mehr vorhanden sind).