Integriertes Caching

Der integrierte Cache bietet In-Memory-Speicher auf der Citrix ADC Appliance und stellt Webinhalte für Benutzer bereit, ohne dass ein Roundtrip zu einem Ursprungsserver erforderlich ist. Für statische Inhalte benötigt der integrierte Cache nur wenig anfänglich eingerichtet. Nachdem Sie die integrierte Cache-Funktion aktiviert und grundlegende Einstellungen durchgeführt haben (z. B. die Größe des Speichers der Citrix ADC Appliance, den der Cache verwenden darf), verwendet der integrierte Cache integrierte Richtlinien zum Speichern und Bereitstellen bestimmter statischer Inhalte, einschließlich einfacher Webseiten und Bilddateien. Sie können den integrierten Cache auch so konfigurieren, dass dynamische Inhalte gespeichert und bereitgestellt werden, die normalerweise von Web- und Anwendungsservern als nicht zwischenspeicherbar gekennzeichnet sind (z. B. Datenbankdatensätze und Aktienkurse).

Hinweis: Der Begriff Integrierter Cache kann mit AppCache austauschbar verwendet werden. Beachten Sie, dass beide Begriffe aus funktionaler Sicht gleich sind.

Wenn eine Anforderung oder Antwort mit der Regel (logischer Ausdruck) übereinstimmt, die in einer integrierten Richtlinie oder einer von Ihnen erstellten Richtlinie angegeben ist, führt die Citrix ADC Appliance die mit der Richtlinie verknüpfte Aktion aus. Standardmäßig speichern alle Richtlinien zwischengespeicherte Objekte in und rufen sie aus der Standardinhaltsgruppe ab. Sie können jedoch eigene Inhaltsgruppen für verschiedene Inhaltstypen erstellen.

Damit die Citrix ADC Appliance zwischengespeicherte Objekte in einer Content-Gruppe finden kann, können Sie Selektoren konfigurieren, die zwischengespeicherte Objekte mit Ausdrücken abgleichen, oder Sie können Parameter zum Suchen von Objekten in der Content-Gruppe angeben. Wenn Sie Selektoren verwenden (was von Citrix empfohlen wird), konfigurieren Sie diese zuerst, damit Sie beim Konfigurieren von Inhaltsgruppen Selektoren angeben können. Richten Sie als Nächstes alle Inhaltsgruppen ein, die Sie hinzufügen möchten, damit sie verfügbar sind, wenn Sie die Richtlinien konfigurieren. Um die anfängliche Konfiguration abzuschließen, erstellen Sie Richtlinienbank, indem Sie jede Richtlinie an einen globalen Bindpunkt oder einen virtuellen Server oder an ein Label binden, das von anderen Richtlinienbanken aufgerufen werden kann.

Sie können die Leistung des integrierten Caches optimieren, indem Sie Methoden verwenden, z. B. das Vorladen zwischengespeicherter Objekte, bevor sie ablaufen sollen. Um die Verarbeitung zwischengespeicherter Daten nach Verlassen der Citrix ADC Appliance zu verwalten, können Sie zwischengespeicherte Header konfigurieren, die in Antworten eingefügt werden. Der integrierte Cache kann auch als Forward-Proxy für andere Cache-Server fungieren.

Hinweis: Integriertes Caching erfordert einige Vertrautheit mit HTTP-Anforderungen und -Antworten.Informationen zur Struktur von HTTP-Daten finden Sie unter Live HTTP-Headers unter"<http://livehttpheaders.mozdev.org/>."

Funktionsweise des Integrations-Cache

Der integrierte Cache überwacht HTTP- und SQL-Anforderungen, die durch die Citrix ADC Appliance fließen, und vergleicht die Anforderungen mit gespeicherten Richtlinien. Je nach Ergebnis durchsucht die integrierte Cache-Funktion entweder den Cache nach der Antwort oder leitet die Anforderung an den Ursprungsserver weiter. Bei HTTP-Anforderungen kann die integrierte Cache-Funktion auch Teilinhalte aus dem Cache als Reaktion auf einzelne Bytebereichs- und mehrteilige Bytebereichsanforderungen bereitstellen.

Im Cache gespeicherte Daten können komprimiert werden, wenn der Client komprimierte Inhalte akzeptiert. Sie können Ablaufzeiten für eine Inhaltsgruppe konfigurieren und Einträge in einer Inhaltsgruppe selektiv ablaufen.

Daten, die aus dem integrierten Cache bereitgestellt werden, sind ein Cache-Treffer, und Daten, die vom Ursprung bereitgestellt werden, sind ein Cache-Fehler, wie in der folgenden Tabelle beschrieben.

Transaktionsart Spezifikation
Cache-Treffer Antworten, die von der Citrix ADC Appliance aus dem Cache bereitgestellt werden, einschließlich: Statische Objekte, z. B. Bilddateien und statische Webseiten, 200 OK-Seiten, 203 nicht autorisierende Antwortseiten, 300 Multiple-Choices-Seiten, 301 dauerhaft verschoben Seiten, 302 Gefundene Seiten, 304 nicht geänderte Seiten, Diese Antworten sind bekannt als positive Antworten. Die Citrix ADC Appliance speichert auch die folgenden negativen Antworten: 307 temporäre Weiterleitungsseiten, 403 Verbotene Seiten, 404 Nicht gefundene Seiten, 410 Vergessene Seiten. Um die Leistung weiter zu verbessern, können Sie die Citrix ADC Appliance so konfigurieren, dass zusätzliche Inhaltstypen zwischengespeichert werden.
Speicherbarer Cache Miss Für einen speicherbaren Cache-Fehler ruft die Citrix ADC Appliance die Antwort vom Ursprungsserver ab und speichert die Antwort im Cache, bevor sie an den Client weitergeleitet wird.
Nicht speicherbarer Cache Miss Ein nicht speicherbarer Cache-Fehler ist für das Caching ungeeignet. Standardmäßig ist jede Antwort, die die folgenden Statuscodes enthält, ein nicht speicherbares Cache-Fehlverhalten: 201, 202, 204, 205, 206 Statuscodes, Alle 4xx-Codes, außer 403, 404 und 410, 5xx Statuscodes

Hinweis: Um dynamisches Caching in Ihre Anwendungsinfrastruktur zu integrieren, verwenden Sie die NITRO -API, um Cache-Befehle remote auszustellen. Sie können beispielsweise Trigger konfigurieren, die zwischengespeicherte Antworten ablaufen, wenn eine Datenbanktabelle aktualisiert wird.

Um die Synchronisierung zwischengespeicherter Antworten mit den Daten auf dem Ursprungsserver sicherzustellen, konfigurieren Sie Ablaufmethoden. Wenn die Citrix ADC Appliance eine Anforderung empfängt, die einer abgelaufenen Antwort entspricht, aktualisiert sie die Antwort vom Ursprungsserver.

Hinweis Citrix empfiehlt, die Zeiten auf der Citrix ADC Appliance und den Back-End-Servern zu synchronisieren.

Funktionsweise des dynamischen Cache

Dynamisches Caching wertet HTTP-Anforderungen und Antworten basierend auf Parameterwertpaaren, Strings, String-Mustern oder anderen Daten aus. Angenommen, ein Benutzer sucht nach Fehler 31231 in einer Fehlerberichterstattungsanwendung. Der Browser sendet die folgende Anfrage im Namen des Benutzers:

GET /mybugreportingsystem/mybugreport.dll?IssuePage&RecordId=31231&Template=view&TableId=1000

Host: mycompany.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8

Accept-Language: en-us,en;q=0.5

. . .

In diesem Beispiel enthalten GET-Anfragen für diese Fehlerberichterstattungsanwendung immer die folgenden Parameter:

  • IssuePage
  • RecordID
  • Template
  • TableId

GET-Anforderungen aktualisieren oder ändern die Daten nicht, sodass Sie diese Parameter im Caching von Richtlinien und Selektoren wie folgt konfigurieren können:

  • Sie konfigurieren eine Caching-Richtlinie, die für die Zeichenfolge mybugreportingsystem und die GET-Methode in HTTP-Anforderungen sucht. Diese Richtlinie leitet Abgleichsanforderungen an eine Inhaltsgruppe für Fehler.
  • In der Content-Gruppe für Fehler konfigurieren Sie eine Trefferauswahl, die verschiedenen Parameterwertpaaren entspricht, einschließlich IssuePage, RecordID usw.

Hinweis: dass ein Browser mehrere GET-Anforderungen basierend auf einer Benutzeraktion senden kann. Im Folgenden finden Sie eine Reihe von drei separaten GET-Anfragen, die ein Browser ausgibt, wenn ein Benutzer nach einem Fehler basierend auf einer Fehler-ID sucht.

GET /mybugreportingsystem/mybugreport.dll?IssuePage&RecordId=31231&Template=view&TableId=1000

GET /mybugreportingsystem/mybugreport.dll?IssuePage&Template=viewbtns&RecordId=31231&TableId=1000

GET /mybugreportingsystem/mybugreport.dll?IssuePage&Template=viewbody&RecordId=31231&tableid=1000

Um diese Anforderungen zu erfüllen, werden mehrere Antworten an den Browser des Benutzers gesendet, und die Webseite, die der Benutzer sieht, ist eine Assembly der Antworten.

Wenn ein Benutzer einen Fehlerbericht aktualisiert, sollten die entsprechenden Antworten im Cache mit Daten vom Ursprungsserver aktualisiert werden. Die Fehlerberichterstattungsanwendung gibt HTTP POST-Anfragen aus, wenn ein Benutzer einen Fehlerbericht aktualisiert. In diesem Beispiel konfigurieren Sie Folgendes, um sicherzustellen, dass POST-Anforderungen die Invalidierung im Cache auslösen:

  • Eine Richtlinie zur Invalidierung der Anforderung, die nach der Zeichenfolge mybugreportingsystem und der POST-HTTP-Anforderungsmethode sucht und übereinstimmende Anforderungen an die Inhaltsgruppe für Fehlerberichte leitet.
  • Ein Invalidierungsselektor für die Content-Gruppe für Fehlerberichte, die zwischengespeicherten Inhalte basierend auf dem RecordID-Parameter ablaufen. Dieser Parameter wird in allen Antworten angezeigt, sodass der Invalidierungsselektor alle relevanten Elemente im Cache ablaufen kann.

Der folgende Auszug zeigt eine POST-Anforderung, die den Beispielfehlerbericht aktualisiert.

POST /mybugreportingsystem/mybugreport.dll?TransitionForm HTTP/1.1\r\n

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.23 [en]\r\n

Host: mybugreportingsystem\r\n

Cookie:ttSearch.134=%23options%3Afalse%23active%23owner%3Afalse%23unowned%3Afalse%23submitter%3Afalse%23incsub%3Atrue;

Cookie2: $Version=1\r\n

. . .

\r\n

ProjectId=2&RecordId=31231&TableId=1000&TransitionId=1&Action=Update&CopyProjectId=0&ReloadForm=0&State=&RecordLockId=49873+issues+in+HTTP&F43. . .

Wenn die Citrix ADC Appliance diese Anforderung empfängt, führt sie die folgenden Schritte aus:

  • Vergleicht die Anforderung mit einer Invalidierungsrichtlinie.
  • Sucht die Inhaltsgruppe, die in der Richtlinie benannt ist.
  • Wendet die Invalidierungsauswahl für diese Inhaltsgruppe an und endet alle Antworten ab, die mit RecordID=31231 übereinstimmen.

Wenn ein Benutzer eine neue Anforderung für diesen Fehlerbericht ausgibt, geht die Citrix ADC Appliance an den Ursprungsserver, um aktualisierte Kopien aller Antworten zu erhalten, die der Berichtsinstanz zugeordnet sind, speichert die Antworten in der Inhaltsgruppe und stellt sie dem Browser des Benutzers zur Verfügung. es.

Integrierten Cache konfigurieren

Um den integrierten Cache zu verwenden, müssen Sie die Lizenz installieren und die Funktion aktivieren. Nachdem Sie den integrierten Cache aktiviert haben, speichert die Citrix® Citrix ADC® -Appliance statische Objekte automatisch gemäß den integrierten Richtlinien und generiert Statistiken zum Cacheverhalten. (Integrierte Richtlinien weisen einen Unterstrich in der Anfangsposition des Richtliniennamens auf.)

Selbst wenn die integrierten Richtlinien für Ihre Situation geeignet sind, sollten Sie die globalen Attribute ändern. Beispielsweise können Sie die Größe des Speichers der Citrix ADC Appliance ändern, der dem integrierten Cache zugewiesen ist.

Wenn Sie den Cache-Vorgang beobachten möchten, bevor Sie die Einstellungen ändern, finden Sie unter Anzeigen von Cache-Objekten und Cache-Statistiken.

Hinweis: Der Citrix ADC Cache ist ein Speicher im Speicher, der gelöscht wird, wenn Sie die Appliance neu starten.

So installieren Sie die integrierte Cache-Lizenz

Eine integrierte Cache-Lizenz ist erforderlich. Informationen zu Lizenzen finden Sie unter Lizenzen erhalten.

Rufen Sie einen Lizenzcode von Citrix ab, gehen Sie zur Befehlszeilenschnittstelle und melden Sie sich an.

Kopieren Sie an der Befehlszeilenschnittstelle die Lizenzdatei in den Ordner /nsconfig/license.

Starten Sie die Citrix ADC Appliance mit folgendem Befehl neu:

Neustart

So aktivieren Sie das integrierte Caching: Wenn Sie das integrierte Caching aktivieren, beginnt die Citrix ADC Appliance mit dem Zwischenspeichern von Serverantworten. Wenn Sie keine Richtlinien oder Inhaltsgruppen konfiguriert haben, speichern die integrierten Richtlinien zwischengespeicherte Objekte in der Standardinhaltsgruppe.

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein, um das integrierte Caching zu aktivieren oder zu deaktivieren:

‘ns-Feature-IC’ aktivieren

So konfigurieren Sie globale Attribute für das Caching

Globale Attribute gelten für alle zwischengespeicherten Daten. Sie können die Menge des Citrix ADC-Arbeitsspeichers angeben, die dem integrierten Cache zugewiesen ist, Via Header einfügen, ein Kriterium für die Überprüfung, ob ein zwischengespeichertes Objekt bereitgestellt werden soll, die maximale Länge eines im Cache zulässigen POST-Body, ob die Richtlinienbewertung für HTTP-GET-Anforderungen umgangen werden soll, und eine Aktion, die ausgeführt werden soll, wenn eine Richtlinie kann nicht ausgewertet werden.

Die Cache-Speicherkapazität wird nur durch den Speicher der Hardware-Appliance begrenzt. Außerdem kennt jede Paketengine (der zentrale Verteilungspunkt aller eingehenden TCP-Anforderungen) in der nCore Citrix ADC Appliance Objekte, die von anderen Paketmodulen in der nCore Citrix ADC-Appliance zwischengespeichert werden.

Hinweis: Wenn das globale Standardspeicherlimit auf 0 festgelegt ist und die Integrated Caching (IC) -Funktion aktiviert ist, speichert die Appliance keine Objekte. Zum Zwischenspeichern müssen Sie explizit das globale Speicherlimit konfigurieren. Wenn Sie jedoch die Option set aaa parameter enableStaticPageCaching aktivieren, wird einige Standardspeicher in der Appliance konfiguriert. Dieser Speicher reicht nicht aus, um große Objekte zwischenzuspeichern. Daher ist es notwendig, eine höhere Speichergrenze für IC zuzuweisen. Sie können dies ausführen, indem Sie den Befehl set cache parameter -memLimit konfigurieren. Die neue Einstellung wird erst angewendet, nachdem Sie die Konfiguration gespeichert und die Appliance neu gestartet haben.

Sie können das globale Speicherlimit ändern, das für das Caching von Objekten konfiguriert ist. Wenn Sie jedoch das globale Speicherlimit auf einen Wert aktualisieren, der niedriger ist als der vorhandene Wert (z. B. von 10 GB auf 4 GB), wenn bereits eine höhere Speichermenge (größer als 4 GB) verwendet wird, um Objekte zwischenzuspeichern, verwendet der Citrix ADC diese Menge an Speicher weiter.

Dies bedeutet, dass, obwohl das integrierte Caching-Limit auf einen Wert konfiguriert ist, der tatsächliche Grenzwert höher sein kann. Dieser übermäßige Speicher wird jedoch freigegeben, wenn die Objekte aus dem Cache entfernt werden.

Die Ausgabe des Befehls show cache Parameter gibt den konfigurierten Wert (Speichernutzungslimit) und den tatsächlichen Wert an, der verwendet wird (Speichernutzungslimit (aktiver Wert)).

Geben Sie an der Eingabeaufforderung Folgendes ein:

set cache parameter [-memLimit <MBytes>] [-via <string>] [-verifyUsing <criterion>] [-maxPostLen <positiveInteger>] [-prefetchMaxPending <positiveInteger>] [-enableBypass(YES|NO)] [-undefAction (NOCACHE|RESET)]

So aktivieren Sie das integrierte Caching mit der GUI:

Navigieren Sie zu System > Einstellungen, klicken Sie auf Basisfunktionen konfigurieren, und wählen Sie Integriertes Caching aus.

So konfigurieren Sie globale Einstellungen für das Caching mit der GUI:

Navigieren Sie zu Optimierung > Integriertes Caching, klicken Sie auf Cache-Einstellungen ändern, und konfigurieren Sie die globalen Einstellungen für das Caching.

So richten Sie integrierte Inhaltsgruppe, Mustersatz und Richtlinien für integrierten Cacheein:

Die Citrix ADC Appliance verfügt über eine integrierte Caching-Konfiguration, die Sie zum Caching von Inhalten verwenden können. Die Konfiguration besteht aus einer Content-Gruppe namens ctx_cg_poc, einem Mustersatz namens ctx_file_extensions und einem Satz integrierter Cache-Richtlinien. In der Inhaltsgruppe ctx_cg_poc werden nur Objekte zwischengespeichert, die 500 KB oder kleiner sind. Der Inhalt wird für 86000 Sekunden zwischengespeichert, und die Speichergrenze für die Inhaltsgruppe beträgt 512 MB. Der Mustersatz ist ein indiziertes Array von gemeinsamen Dateierweiterungen für Dateityp-Matching.

In der folgenden Tabelle sind die mitgelieferten integrierten Caching-Richtlinien aufgeführt. Standardmäßig sind die Richtlinien an keinen Bindepunkt gebunden. Sie müssen sie an einen Bindepunkt binden, wenn die Citrix ADC Appliance den Datenverkehr anhand der Richtlinien auswerten soll. Die Richtlinien speichern Objekte in der Inhaltsgruppe ctx_cg_poc.

Name der integrierten Caching-Richtlinie Richtlinienregel
_cacheVPNStaticObjects HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS_INDEX(“ctx_file_extensions”).BETWEEN(101,150)
_cacheTCPVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.css”)
_cacheOCVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.pdf”)
_cacheWFStaticObjects HTTP.REQ.URL.ENDSWITH(“.js”)
_mayNoCacheReq HTTP.RES.HEADER(“Content-Type”).CONTAINS(“application/x-javascript”)
_noCacheRest TRUE