Freigeben über


Optimieren des BLOB-Caches für WAN-Umgebungen (SharePoint Server 2010)

 

Gilt für: SharePoint Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Artikel wird die Verwendung des BLOB-Caches in Microsoft SharePoint 2010-Produkten für WAN-Umgebungen beschrieben.

Bei der Zwischenspeicherung denkt man in der Regel zuerst an eine Methode, um den Durchsatz beim Rendern zu erhöhen – ab dem Zeitpunkt, zu dem eine Anforderung auf dem Server empfangen wird, bis zu dem Zeitpunkt, zu dem die Übertragung einer Antwort an den Clientcomputer beginnt. Dies ist zwar ein wichtiger Aspekt der Gesamtleistung der Website, aber in diesem Abschnitt wird die Zwischenspeicherung in Bezug auf folgende Aspekte behandelt:

  • Die Rolle der Serverkonfiguration bei der Clientzwischenspeicherung.

  • Die Kontrolle der Größe von Elementen, die im Netzwerk vom Server an den Client übertragen werden.

Informationen zum BLOB-Cache

Beim BLOB-Cache handelt es sich um einen Mechanismus, der nur für Veröffentlichungsfeatures von SharePoint Server 2010 verfügbar ist. Dies macht den BLOB-Cache zu einem idealen Kandidaten für Unternehmensportalwebsites, die auf der Websitevorlage Zusammenarbeitsportal, und für im Internet veröffentlichte Websites, die auf der Websitevorlage Veröffentlichungsportal basieren. Mit dem BLOB-Cache können Sie Zwischenspeicherungsanweisungen konfigurieren, die Elementen zugeordnet werden, die von Veröffentlichungssitelisten bereitgestellt werden, wie z. B. den Bibliotheken Seiten und Bilder der Websitesammlung. Wenn der Browser auf dem Clientcomputer eine Zwischenspeicherungsanweisung findet, wird festgestellt, dass das abgerufene Element lokal gespeichert werden kann und bis zum Ablauf der Zwischenspeicherungsanweisung nicht mehr erneut angefordert werden muss. In einer geografisch verteilten Umgebung spielt dies eine wichtige Rolle, da dadurch die Anzahl der über das Netzwerk angeforderten und gesendeten Elemente reduziert wird.

Wenn der BLOB-Cache in SharePoint Server 2010 aktiviert ist, passieren zwei weitere Dinge. Zunächst durchsucht SharePoint Server 2010 bei jeder Anforderung eines zwischenspeicherbaren Elements das Festplattenlaufwerk des Webservers, das die Anforderung empfangen hat, nach einer lokal gespeicherten Kopie. Falls dies der Fall ist, wird die Datei vom lokalen Datenträger direkt an den Benutzer übertragen. Falls auf dem lokalen Datenträger keine Kopie vorhanden ist, wird eine Kopie des Elements aus der SQL-Datenbank, in der das Element gespeichert ist, erstellt. Anschließend wird das Element an den Benutzer gesendet, der die Anforderung ausgestellt hat. Danach werden alle Anforderungen für dieses Element direkt vom Webserver bedient, bis der Cachefähigkeitswert den Ablauf des Elements anzeigt. Dies ermöglicht eine bessere Leistung für die Serverfarm, indem Konflikte auf dem Datenbankserver reduziert werden.

Andererseits wird durch die Aktivierung des BLOB-Caches ein Cachefähigkeitsheader an das Element angefügt, wenn dieses an den Client gesendet wird. Durch diesen Header wird der Browser angewiesen, wie lange das Element zwischengespeichert werden soll. Wenn beispielsweise ein Bild einen Cachefähigkeitswert von drei Tagen aufweist, verwendet der Browser die Kopie des Bilds aus dem lokalen Cache, falls dieses Bild innerhalb der nächsten drei Tage erneut angefordert wird; es wird dann nicht erneut vom Server angefordert.

Erfassen von Daten zum BLOB-Cache mithilfe von Fiddler

Beim Testen Ihrer Website können Sie mithilfe der kostenlosen Debugginganwendung Fiddler (http://www.fiddlertool.com) feststellen, welche Elemente und wie Elemente zwischengespeichert werden. Das folgende Bildschirmfoto zeigt Fiddler mit einer einfachen SharePoint-Website, die für die Veröffentlichung verwendet wird. Die Website wurde mithilfe der standardmäßigen Websitevorlage Zusammenarbeitsportal erstellt. Der Seite wurde zusätzlicher Text hinzugefügt, und der Gestaltungsvorlage wurden mehrere Bilder hinzugefügt.

Ergebnisse des Tools Fiddler

Die Anwendung Fiddler enthält mehrere wichtige Informationen.

  • Die Spalte # auf der linken Seite gibt an, dass insgesamt 44 HTTP-Anforderungen zum Rendern der Seite vom Browser zum Server erfolgt sind.

  • In der Spalte Result wird der HTTP-Ergebniscode angezeigt, der von der Anforderung für das Element zurückgegeben wurde; das Ergebnis 200 bedeutet, dass das Element erfolgreich abgerufen wurde.

  • In der Spalte URL wird angegeben, welches spezielle Element angefordert wurde.

  • In der Spalte Body wird die Größe der einzelnen Elemente angegeben.

  • In der Spalte Caching wird die Zwischenspeicherungsanweisung angezeigt, die den einzelnen Elementen zugeordnet wurde. Die Daten in der Spalte Caching zeigen, dass mehreren Elementen eine Zwischenspeicherungsanweisung zugeordnet ist; das heißt, sie weisen ein max-age-Attribut mit einem Wert größer 0 auf. Zwischenspeicherungsanweisungen werden in Sekunden angegeben. Für die dargestellte Seite sind demnach mehrere Elemente konfiguriert, die 365 Tage zwischengespeichert werden sollen (60 Sekunden pro Minute, 60 Minuten pro Stunde, 24 Stunden pro Tag = 60x60x24 = 86.400x365 = 31.536.000).

Beachten Sie, dass sich alle Elemente mit dieser Zwischenspeicherungsanweisung im Verzeichnis _layouts befinden. Diese Cacheeinstellung ist auf die Konfiguration des virtuellen Verzeichnisses _layouts/images in Internetinformationsdienste (Internet Information Services, IIS) zurückzuführen. Beim Erstellen einer neuen Webanwendung, legt SharePoint Server 2010 automatisch mehrere virtuelle Verzeichnisse an, die Ordern auf den physischen Datenträgern des Webservers zugeordnet werden. Beim Erstellen des virtuellen Verzeichnisses _layouts/images wird eine Zwischenspeicherungsanweisung hinzugefügt, die für das gesamte Verzeichnis gültig ist. Das folgende Bildschirmfoto veranschaulicht die Konfiguration für das Verzeichnis im IIS-Manager-Snap-In.

Dialogfeld 'Gemeinsam genutzte HTTP-Antwortheader festlegen'

Da allen diesen Elementen eine Zwischenspeicherungsanweisung ungleich Null zugeordnet ist, verwendet der Browser bei der nächsten Anforderung der Seite die Kopie dieses Elements aus dem lokalen Browsercache, anstatt die Seite erneut vom Server anzufordern. Das folgende Bildschirmfoto zeigt eine Momentaufnahme von Fiddler, wenn die Seite ein zweites Mal angefordert wird.

Ergebnisse des Tools Fiddler

Die Fiddler-Daten zeigen, dass die Anzahl angeforderter Elemente deutlich reduziert wurde, nämlich von 44 auf 11 Elemente. Wichtig in diesem Zusammenhang ist, dass die Anzahl von Anforderungen davon abhängt, wie die Seite angefordert wird. Wenn Sie die Schaltfläche Aktualisieren im Browser verwenden, werden wahrscheinlich alle Elemente erneut angefordert, unabhängig davon, ob eine lokale zwischengespeicherte Version des Elements vorhanden ist. Wenn dagegen die Seite angefordert wird, indem Sie mithilfe eines Links oder einer Verknüpfung geöffnet wird, werden nur die nicht zwischengespeicherten Elemente angefordert.

Die Fiddler-Daten zeigen außerdem, dass der Browser die anderen Bilder in der Gestaltungsvorlage vom Server anfordert, die bereits im lokalen Cache vorhanden sind. Der Antwortcode 304 ist hierfür ein Hinweis. Dies bedeutet, dass der Browser eine bedingte Anforderung für ein Element ausgestellt hat. Die Antwort 304 besagt, dass die Version auf dem Server im Vergleich zur Version auf dem Client nicht geändert wurde, weshalb sie nicht erneut heruntergeladen werden muss. Obwohl die Datei nicht über das Netzwerk heruntergeladen wird, wurde dennoch ein Roundtrip zum Server generiert, um zu bestimmen, ob die lokale Kopie aktuell ist. In einer geografischen verteilten Umgebung sind Serverroundtrips kostspielig. Das Ziel besteht deshalb darin, diese Roundtrips soweit wie möglich zu reduzieren. Möglich ist dies durch Hinzufügen einer Zwischenspeicherungsanweisung ungleich Null zu allen restlichen Elementen (außer der Seite, die immer durch den Server zurückgegeben wird). Diese Zwischenspeicherungsanweisung wird durch das BLOB-Cachefeature hinzugefügt.

Konfigurieren des BLOB-Caches mithilfe von "Web.config"

Den BLOB-Cache können Sie mithilfe der Datei Web.config für die Webanwendung konfigurieren, in welcher der Cache verwendet wird. Öffnen Sie die Datei Web.config in einem Text-Editor wie z. B. Microsoft Editor, und suchen Sie nach dem Eintrag BlobCache. Standardmäßig sieht dies folgendermaßen aus:

<BlobCache location="" 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" />

Die für das BlobCache-Element verwendeten Attribute haben die folgende Bedeutung:

  • location    Bezieht sich auf den Speicherort auf dem Festplattenlaufwerk des Webservers, wo zwischengespeicherte Elemente gespeichert werden.

  • path   Ein regulärer Ausdruck für die Dateitypen, die zwischengespeichert werden sollen.

  • maxSize **   **Die für den Cache verwendbare Größe in GB.

  • enabled    Mit true wird der BLOB-Cache aktiviert.

Das folgende zusätzliche Attribut (standardmäßig nicht enthalten) ist notwendig, um einen Cacheablaufwert für einzelne Elemente festzulegen:

  • max-age   Der Zeitraum in Sekunden, den Elemente auf dem Clientcomputer zwischengespeichert werden sollen.

Durch Festlegung des max-age-Attributs auf einen Wert ungleich Null wird zwischenspeicherbaren Elementen ein Cacheablaufwert zugeordnet. Dadurch muss der Browser das Element nicht mehr herunterladen und auch nicht überprüfen, ob die aktuellste Version vorhanden ist. Angenommen, Sie möchten die Zwischenspeicherung aktivieren und auf dem Webserver bis zu 100 MB zum Speichern von Elementen zuordnen. Die Elemente sollen einmal täglich ablaufen, und zusätzlich zu den vordefinierten Dateitypen, die zwischengespeichert werden, sollen auch HTC-Dateien zwischengespeichert werden. Geben Sie zur Unterstützung dieser Anforderung die folgenden BlobCache-Attribute an:

<BlobCache location="C:\blobcache" path="\.(gif|jpg|png|css|js|htc)$ " maxSize="100" max-age="86400" enabled="true"/>

Beachten Sie, dass diese Änderung an der Datei Web.config auf jedem Webserver in der Farm vorgenommen werden muss. In den meisten Fällen wird der BLOB-Cache sofort gestartet, aber beim Implementieren der Änderungen ist die Verwendung des Befehls iisreset die sicherste Methode. Das folgende Bildschirmfoto zeigt Fiddler-Daten für die bereits weiter oben abgebildete Seitenanforderung, nur dass der BLOB-Cache wie beschrieben aktiviert ist.

Ergebnisse des Tools Fiddler

Beachten Sie, dass alle Elemente in der Bibliothek /SiteCollectionImages nun den HTTP-Statuscode 200 aufweisen. Dies weist darauf hin, dass diese Elemente erfolgreich heruntergeladen wurden. Darüber hinaus ist nun allen Elementen eine Zwischenspeicherungsanweisung zugeordnet, die besagt, dass sie einen Tag lang (86.400 Sekunden) nicht ablaufen. Falls die Seite erneut angefordert wird, zeigt Fiddler, dass keines der Bilder erneut angefordert wird. Die Gesamtanzahl der Anforderungen zum Bereitstellen dieser Seite hat sich deshalb von 44 auf drei Anforderungen reduziert, und zwei der restlichen drei Anforderungen dienen lediglich für die NTLM-Authentifzierungsverhandlung zwischen dem Webserver und der Clientanwendung. Die folgende Abbildung veranschaulicht Fiddler-Daten für den Fall, dass die Seite erneut angefordert wird.

Ergebnisse des Tools Fiddler

Zusätzliche Überlegungen bei Verwendung des BLOB-Caches

Berücksichtigen Sie bei Verwendung des BLOB-Caches zusätzlich Folgendes:

  • Für die Konfiguration ist zusätzlicher Arbeitsaufwand erforderlich, da Sie die Datei Web.config auf jedem Webserver aktualisieren müssen. Die Vorteile rechtfertigen jedoch den Aufwand.

  • Untersuchen Sie die Inhalte Ihrer Website, und bestimmen Sie, ob andere Dateitypen vorhanden sind, die ebenfalls aus dem Cache bereitgestellt werden sollten. Ein gutes Beispiel hierfür sind HTC-Dateien. Da HTC-Dateien in den meisten Veröffentlichungssites verwendet werden, sollten Sie diesen Dateityp der Liste zwischenzuspeichernder Dateitypen hinzufügen.

  • Der BLOB-Cache kann nur für Elemente verwendet werden, die in SharePoint-Bibliotheken gespeichert sind. Inhalte aus anderen Quellen können damit nicht zwischengespeichert werden.

  • Manche Listen können standardmäßig nicht für anonyme Benutzer verwendet werden. Falls anonyme Benutzer vorhanden sind, die auf die Website zugreifen, müssen für die folgenden Listen manuell Berechtigungen konfiguriert werden, um die darin enthaltenen Elemente zwischenzuspeichern:

    • Gestaltungsvorlagenkatalog

    • Formatbibliothek

Zwei weitere Konfigurationsoptionen sollten bei Verwendung des BLOB-Caches beachtet werden. Die erste Option betrifft das Leeren des BLOB-Caches. Wenn der Cache für eine bestimmte Website geleert werden muss, navigieren Sie zu dieser Websitesammlung, und klicken Sie im Menü Websiteaktionen auf Websiteeinstellungen und dann auf Alle Websiteeinstellungen ändern. Klicken Sie in der Websitesammlungsverwaltung auf den Link Objektcache der Websitesammlung. Aktivieren Sie im Abschnitt Zurücksetzen des datenträgerbasierten Caches das Kontrollkästchen Zurücksetzen des datenträgerbasierten Caches dieses Servers erzwingen, und klicken Sie dann auf OK.