Anfang des Inhaltsbereichs

Hintergrunddokumentation Verdrängungsstrategie und Performance  Dokument im Navigationsbaum lokalisieren

Verdrängung

Kennzeichnend für einen Cache-Server ist der von vornherein begrenzte Speicherbereich, in dem er Objekte speichert. Dieser Speicher wächst nicht wie beim Content-Server an (selbstverständlich ist eine Vergrößerung des Caches jederzeit möglich).

Sobald der Cache-Server einen Füllungsgrad erreicht hat, der es unmöglich macht, das nächste Objekt abzulegen, beginnt der Cache, „alte" Objekte aus dem Speicher zu verdrängen. Hierzu führt der Cache eine Zugriffsstatistik über alle gecachten Objekte. Es werden so lange diejenigen Dokumente verdrängt, die am längsten nicht mehr angefordert wurden, bis genügend Platz für das aktuell einzulagernde Dokument geschaffen ist. Dies wird auch LRU-Mechanismus genannt (Least-Recently-Used-Mechanismus).

Performance-Betrachtungen

SAP-interne Vermessungen haben ergeben, dass der Cache einen sowohl über die Request-Häufigkeit als auch über die Request-Größe konstanten Geschwindigkeitsvorteil bietet. Exemplarisch ist hier im Diagramm die Response-Zeit von Cache- und Content-Server gegenübergestellt. Man sieht sehr deutlich, dass beide Kurven im logischen Maßstab unabhängig von der Requestgröße parallel verlaufen und die Antwortzeiten des Content-Servers um den Faktor 10 über denen des Cache-Servers liegen. Dieser Beschleunigungsfaktor ist natürlich von der zur Verfügung stehenden Bandbreite zum Content-Server abhängig. SAP unterhält z. B. sehr hohe Bandbreiten zwischen Walldorf und Palo Alto, so dass in einem Kundenumfeld deutlich größere Geschwindigkeits-Gewinne zu erwarten sind.

Diese Grafik wird im zugehörigen Text erklärt

Ein wesentliches Kriterium für die Cache-Effizienz ist das Verhältnis zwischen Cache-Hits und Cache-Misses. Die Hit-Rate sollte bei nahezu 100 Prozent liegen, dann ist die optimale Cache-Performance erreicht. Überwiegen hingegen die Misses oder erreichen die Misses einen Anteil von mehr als 20-30 Prozent an der Gesamtzahl aller Requests, muss man sich Gedanken über eine Performance-Optimierung machen.

Welche Bedingungen verursachen ein rapides Ansteigen der Cache-Misses?

Diese beiden Ursachen erzwingen folgendes Cache-Verhalten:

Es werden ständig eingelagerte Dokumente verdrängt, um Platz für die neuen Objekte zu schaffen. Aufgrund des hohen Füllungsgrades und der inhomogenen Requests wiederholt sich diese Verdrängung.
Im Extremfall ergibt sich eine ständige Umwälzung des Cache-Inhalts, was die völlige Degradierung der Cache-Leistung bedeutet. Das ständige Umwälzen des Caches wird auch Thrashing genannt.

Abhilfe schafft hier nur das Erweitern des Cache-Bereichs, so dass ein maximaler Füllungsgrad von 75 Prozent gehalten werden kann. Besonders anfällig für Thrashing sind Backbone-Caches, die als Konzentratoren für weitere nachfolgende Caches fungieren.