Anfang des InhaltsbereichsFunktionsdokumentation Caching von BSPs Dokument im Navigationsbaum lokalisieren

Verwendung

Mit dem Einsatz des Internet Server Cache (siehe auch ICM Server-Cache) können Sie Performanz und Skalierbarkeit Ihrer BSP-Applikation wesentlich erhöhen. Der ICM Server-Cache bietet eine dynamische und aktive Content-Caching Technologie, wodurch sich die folgenden Vorteile für die Entwicklung von BSPs ergeben:

Die dadurch möglichen Performance-Verbesserungen können bis zu Faktor 20 betragen.

Performance und Skalierbarkeit

Benchmark Tests für Cache-Treffer im Hauptspeicher haben latente Antwortzeiten von unter einer Millisekunde pro Request und einen Gesamtdurchlauf von über 3000 Requests pro Sekunde auf einer 4-CPU Hardware ergeben.

Diesen Ergebnissen liegt eine stark parallele und multithreaded Architektur zugrunde, die gleichzeitige Lese- und Schreibzugriffe mit Versionierung unterstützt. Außerdem wird hier für den schnellen Zugriff auf das Cache-Verzeichnis ein patentierter Indizierungsalgorithmus verwendet, der für lange Web-URLs oder ähnliches als Cache-Keys besonders geeignet ist.

Funktionsumfang

Der Funktionsumfang und die Architektur des ICM Server-Cache ist im Abschnitt Internet Server-Cache beschrieben.

Es gibt grundsätzlich folgende Möglichkeiten, das Caching für BSPs zu steuern:

Wie Sie vorgehen müssen, ist im folgenden Abschnitt beschrieben.

Aktivitäten

Caching-Eigenschaften im Web Application Builder setzen

In der Registerkarte Eigenschaften einer BSP können Sie Caching-Eigenschaften für die Seite setzen:

Diese Grafik wird im zugehörigen Text erklärt

Sie können sowohl für den Browser Cache als auch für den ICM Server-Cache bestimmen, wie lange die Seite im Cache gehalten werden soll. Wenn nichts angegeben wird, bedeutet dies, dass der entsprechende Cache für die Seite nicht verwendet wird. Das Kennzeichen Browser abhängig setzen Sie, wenn Sie möchten, dass der ICM Server-Cache die Seite nur aus dem Cache holt, wenn der Request vom gleichen Browser-Typ kommt. Wenn Sie das Kennzeichen nicht setzen, beachten Sie dabei, dass alle von der Seite verwendeten Elemente browserunabhängig sein müssen.

Achtung

Beachten Sie beim Einsatz des Browser-Caches, dass der Client nicht merken kann, wenn sich eine Seite geändert hat; er liefert bei der gleichern URL immer dieselbe Seite aus dem Cache, bis die Verfallsdauer abgelaufen ist. Wenn Sie den ICM Server-Cache verwenden, können Sie durch Verwendung der Invalidierungs-Methoden stets die Aktuaklität der im Cache eingelagerten Seite gewährleisten.

Caching-Eigenschaften durch Methodenaufrufe in der BSP setzen

Hier stehen Ihnen mehr Möglichkeiten zur Verfügung; neben der relativen Verfallszeit und der Browserabhängigkeit können Sie eine absolute Verfallszeit angeben sowie Cache-einträge invalidieren. Sie können auch das Caching nicht für die Seite allgemein, sondern in Abhängigkeit von Beutzereingaben aktivieren (vgl. Beispiel).

Sie setzen die Verfallszeit für eine HTTP-Response mit den Methoden der Klasse CL_HTTP_RESPONSE (siehe auch StrukturlinkIF_HTTP_RESPONSE und IF_HTTP_REQUEST):

Hinweis

Verwenden Sie angemessene automatische Verfallszeiten. Z. B. wird ein Börsenticker alle n Minuten aktualisiert, während bei einem Produktkatalog nur alle n Tage oder Wochen eine Aktualisierung erforderlich ist.

Sie legen das asynchrone Auffrischen (Invalidieren) von Objekten über die Methoden der Klasse CL_HTTP_SERVER (siehe auch StrukturlinkIF_HTTP_SERVER) fest:

Diese Angaben werden vom System automatisch an andere Applikationsserver weitergeleitet, damit die Cache-Integrität gewährleistet ist.

Hinweis

Vermeiden Sie allzu häufige Invalidierungen, um systemweite Übertragungen an andere Applikationsserver zu vermeiden.

Siehe auch:

Manipulation der Cache-Eigenschaften

Beispiel

Ein einfaches Beispiel finden Sie im System in der BSP-Applikation TUTORIAL_4, BSP results.htm im Eventhandler OnInitialization:

* cache result page in case Plattner's books are searched

 

if 'PLATTNER' cp author.

response->server_cache_expire_abs( expires_abs_time = '180000'

browser_dependent = 'X' ).

endif.

Es wird nur die Ergebnisliste für die Anfrage von Büchern von Hasso Plattner in den Cache eingelagert, etwa weil man weiß, dass diese besonders oft angefordert wird. Jeden Abend um 18 Uhr wird der Cache-Eintrag invalidiert. Diese Funktion kann für Dinge, die einmal täglich neu berechnet werden (z.B. aktuelle Preise), sinnvoll sein.

Siehe auch:

StrukturlinkWeiterentwicklung des Buchladens

Ende des Inhaltsbereichs