IIS Performance – Idle Time-out Action

Ein paar Sekunden für mehr Performance. Idle Time-out Action in IIS.

Wird eine IIS Website länger als 20 Minuten nicht aufgerufen so wird vom IIS der dazugehörige Worker Prozess beendet. Bei einen erneuten Aufruf nach diesen 20 Minuten (auch cold request bezeichnet) muss der IIS neu initialisiert werden, eventuelle Frameworks wie PHP neu gestartet werden, usw..
Das alles benötigt natürlich je nach Umgebung einiges an Zeit.

Seit IIS 8.5 (standardmäßig bei Server 2012 R2) gibt es nun die Möglichkeit dies zu ändern bzw. das Verhalten bei einen Time-Out zu ändern.
Durch diese Einstellung wird der Worker Prozess nicht terminiert sondern lediglich pausiert. Dies bedeutet konkret: Der Inhalt des Arbeitsspeichers wird auf die Festplatte geschrieben und aus dem Memory gelöscht. Ein erneutes Laden von der Festplatte ist hier natürlich wesentlich schneller als alles neu zu initialisieren. Durch den Einsatz von SSD’s kann hier natürlich noch viel mehr herausgeholt werden.

Konfiguration

Wir begeben uns in die Advanced Settings des jeweiligen Application Pools und setzen den Wert „Idle Time-Out Action“ von „Terminate“ auf „Suspend“
Idle Time-Out Action