Beim ersten Aufruf einer SharePoint Site kann es selbst auf großzügig dimensionierten Servern über 30 Sekunden dauern bis die Seite angezeigt wird. Die verbreiteste Lösung ist der Einsatz eines WarmUp Scripts. Dieses Script ruft alle SharePoint Seiten nach dem nächtlichen Application Pool Recycle einmal auf, damit der Application Pool startklar für die Anrufe durch echte Benutzer ist. Mittlerweile gibt es eine ganze Anzahl an WarmUp Scripten. Wo früher alle gewünschten Seiten manuell eingetragen werden mussten, lesen die neueren Tools mittlerweile die benötigten Adressen automatisch aus der Farm. Ich bevorzuge zu diesem Zweck das Tool SPWakueUp3 von A Kennel. Es ist auf Codeplex frei erhältlich und kommt auch mit SSL Webanwendungen klar.

Bei der Einrichtung sollte man die folgenden Punkte beachten, damit man die Lösung unter Beachtung des SharePoint typischen „Principle of Least Privilege“ Sicherheitsmodell konfiguriert.

  • Einsatz eines dedizierten Konto für das WakeUP Script
  • Webanwendungs Benutzer Berechtigung mit vollen Leserechten auf alle Webanwendungen
  • Mitglied in der Rolle SharePoint_Shell_Accessauf den Inhaltsdatenbanken
  • Local Security Policy: Log On as a Batch Job

Das Konto für die Ausführung des WakeUp Script wird im Active-Directory erstellt. Anschließend erweitert man die User Policy der Webanwendung in der Zentral Administration um das WarmUp Konto.

Die Benutzer Berechtigung der Webanwendung in der Zentral Administration aufrufenimage

Das Konto benötigt auf jeder Webanwendungen die aufgewärmt werden soll „Full Read“ Rechteimage

Anschließend wird dem Konto die Rolle „SharePoint_Shell_Access“ zugewiesen. Diese Aufgabe kann mittels PowerShell automatisiert werden.

foreach ($database in Get-SPContentdatabase) { Add-SPShellAdmin -database $database.id -UserName DOMÄNE\Konto}

image

Nun noch das Konto um das Recht „Log on as a batch job“ erweitern, damit SPWakeUp3 als geplanter Task gestartet werden kann.image

Anschließend startet man einen Testlauf von SPWakeUp3 in einer CMD im Kontext des WarmUp Kontoimage

Wenn der Test erfolgreich war erstellt man im Windows Task Planer eine neue benutzerdefinierte Aufgabe und gibt als Ausführungskonto das WarmUp Konto an. Den Task startet man mittels Plan jeden Morgen bevor die ersten Benutzer mit der Arbeit beginnen und wählt als Zusätzlichen Auslöser noch den Systemstart aus. Damit der Server auch nach einem Neustart bereit für die Benutzer ist.

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.