Blob-Cache im SharePoint 2010 Umfeld

 

Ein BLOB-Cache ist ein datenträgerbasierter Cache zur Speicherung von BLOB-Daten (Binary Large Object), wie z. B. häufig verwendete Bild-, Audio- und Videodateien, sowie anderer Dateien, mit denen Webseiten aufgebaut werden.

Jeder Front-End-Webserver verwaltet seinen eigenen BLOB-Cache. Wenn man einen BLOB-Cache aktiviert (via Web.Config), geben Sie die Dateitypen an, die in den Cache einbezogen werden sollen, sowie den Speicherort des BLOB-Caches (mit Vorteil nicht auf dem System-Drive).

Bei der ersten Anforderung einer in der BLOB-Konfiguration angegebenen Datei wird diese aus der Datenbank in den BLOB-Cache auf dem Front-End-Webserver kopiert. Zukünftige Anforderungen an den Front-End-Webserver für dieselbe Datei werden dann mithilfe der im BLOB-Cache gespeicherten Datei bedient, und nicht über die Datenbank. Dadurch werden der Netzwerkverkehr und die Auslastung des Datenbankservers reduziert.

Konfigurieren des Blob-Cache

  1. Stellen Sie sicher, dass Sie über die folgenden Administratorrechte verfügen: Sie müssen der Administratorengruppe auf dem lokalen Computer angehören, um die Einstellungen des BLOB-Cache konfigurieren zu können.

  2. Klicken Sie auf Start, zeigen Sie auf Administrative Tools, und klicken Sie dann auf Internet Information Services (IIS) Manager.

  3. Klicken Sie im Internet Information Services (IIS) Manager im Bereich Connections auf das Pluszeichen neben dem Namen des Servers, der die Webanwendung enthält, und klicken Sie dann auf das Pluszeichen neben Sites, um die erstellten Webanwendungen anzuzeigen.

  4. Klicken Sie mit der rechten Maustaste auf den Namen der Webanwendung, für die Sie den datenträgerbasierten Cache konfigurieren möchten, und klicken Sie dann auf Explorer. Windows Explorer wird geöffnet, und die Verzeichnisse der ausgewählten Webanwendung werden aufgeführt.

    Wichtig: Bevor Sie irgendwelche Veränderungen an der Web.Config machen, erstellen Sie ein Backup der aktuellen Datei.

  5. Klicken Sie mit der rechten Maustaste auf Web.Config, und klicken Sie dann auf Öffnen.

  6. Wenn das Dialogfeld Windows angezeigt wird, aktivieren Sie Programm aus einer Liste installierter Programme auswählen, und klicken Sie dann auf OK.

  7. Klicken Sie im Dialogfeld Öffnen mit auf Editor, und klicken Sie dann auf OK.

  8. Suchen Sie im Editor in der Datei Web.config die folgende Zeile:
    <BlobCache location="D:\BLOB" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$" maxSize="10" enabled="false" />

  9. Ändern Sie in dieser Zeile das Attribut location, um ein Verzeichnis anzugeben, das über genügend freien Speicher für den Cache verfügt. Es wird empfohlen, nicht das System-Drive zu verwenden.

  10. Zum Hinzufügen oder Entfernen zwischenzuspeichernder Dateitypen ändern Sie den regulären Ausdruck des Attributs path, um die betreffende Dateierweiterung hinzuzufügen bzw. zu entfernen. Achten Sie beim Hinzufügen von Dateierweiterungen darauf, die einzelnen Dateitypen durch einen senkrechten Strich (|), wie in dieser Codezeile gezeigt, zu trennen.

  11. Zum Ändern der Cachegröße geben Sie einen neuen Wert für maxSize ein. Die Größe wird in GB ausgedrückt. Der Standardwert beträgt 10 GB.

    Wichtig: Es empfiehlt sich, mit einer Cachegröße von mindestens 10 GB zu arbeiten. Denken Sie beim Festlegen der Cachegröße daran, dass der Puffer mindestens 20 % über der geschätzten Größe der Inhalte liegen sollte.

  12. Zum Aktivieren des BLOB-Cache ändern Sie das Attribut enabled von "false" in "true".

  13. Speichern Sie die Editor-Datei, und schließen Sie sie.

  14. Wiederholen Sie dieses auf allen Web Front-End Server

  15. Fügen Sie alle gemachten Konfigurationen in die Dokumentationen ein.

Leeren des Blob-Cache

Beim Leeren des BLOB-Caches werden die Inhalte des BLOB-Caches für eine Webanwendung entfernt. Dies ist hilfreich, wenn der BLOB-Cache nicht mehr mit dem Inhalt synchronisiert ist. Beispielsweise nach der Wiederherstellung einer Inhaltsdatenbank. Um dieses Problem zu beheben, müssen Sie den BLOB-Cache leeren. Dies kann nicht über die Web-Oberfläche des SharePoint gemacht sondern es muss mittels PowerShelll ausgeführt werden.

Erstellen sie eine PowerShell-Datei “FlushBLOBCache_<WebApplication>.ps1” (<WebApplication> mit dem Namen der zu verwendenden WebApplikation ersetzen) und kopieren Sie folgende Code-Zeilen in diese:

$webApp = Get-SPWebApplication "<WebApplicationURL>"
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)
Write-Host "Flushed the BLOB cache for:" $webApp

Ersetzen Sie dabei ebenfalls die <WebApplicationURL> mit der URL der entsprechenden WebApplication.

Führen Sie nun dieses Script mit der SharePoint 2010 Management Shell aus, stellen Sie aber sicher, dass der verwendete Benutzer ausreichend Berechtigungen besitzt.

Weitere Details sind im TechNet zu finden: