ADC

Integriertes Caching

Gruppen von Inhalten

  • Wie unterscheidet sich eine DEFAULT-Inhaltsgruppe von anderen Inhaltsgruppen?

    Das Verhalten der DEFAULT-Inhaltsgruppe ist dasselbe wie bei jeder anderen Gruppe. Das einzige Attribut, das die DEFAULT-Inhaltsgruppe zu etwas Besonderem macht, ist das, wenn ein Objekt zwischengespeichert wird und keine Inhaltsgruppe erstellt wurde. Das Objekt wird in der DEFAULT-Gruppe zwischengespeichert.

  • Was ist die Option „Cache-Control“ auf Inhaltsgruppenebene?

    Sie können jeden Cache-Control-Header an den Browser senden. Es gibt eine Option auf Inhaltsgruppenebene, -CacheControl, mit der Sie den Cache-Control-Header angeben können, der in die Antwort an den Browser eingefügt werden soll.

  • Was ist die Option Minhit auf der Ebene der Inhaltsgruppen?

    Minhit ist ein ganzzahliger Wert, der die Mindestanzahl der Auswahl für eine Cache-Richtlinie angibt, bevor das Objekt zwischengespeichert wird. Dieser Wert ist auf Inhaltsgruppenebene konfigurierbar. Im Folgenden finden Sie die Syntax, um diesen Wert über die CLI zu konfigurieren.

    add/set cache contentGroup \<Content_Group_Name> [-minHits \<Integer>]

  • Was nützt die Option expireAtLastByte?

    Die Option expireAtLastByte ermöglicht es dem integrierten Cache, das Objekt ablaufen zu lassen, wenn es heruntergeladen wird. Nur Anfragen, bei denen es sich um ausstehende Anfragen handelt, werden dann aus dem Cache bedient. Alle neuen Anfragen werden an den Server gesendet. Diese Einstellung ist nützlich, wenn das Objekt häufig geändert wird, wie dies bei Aktienkursen der Fall ist. Dieser Ablaufmechanismus funktioniert zusammen mit der Flash-Cache-Funktion. Führen Sie den folgenden Befehl über die CLI aus, um eine ExpireAtLastByte-Option zu konfigurieren:

    add cache contentGroup \<Group_Name> –expireAtLastByte YES

Cache-Richtlinie

  • Was ist eine Caching-Richtlinie?

    Richtlinien bestimmen, welche Transaktionen zwischengespeichert werden können und welche nicht. Außerdem fügen Richtlinien das standardmäßige HTTP-Caching-Verhalten hinzu oder überschreiben es. Richtlinien bestimmen eine Aktion, wie CACHE oder NOCACHE, abhängig von den spezifischen Merkmalen der Anfrage oder Antwort. Wenn eine Antwort den Richtlinienregeln entspricht, wird das Objekt in der Antwort der in der Richtlinie konfigurierten Inhaltsgruppe hinzugefügt. Wenn Sie keine Inhaltsgruppe konfiguriert haben, wird das Objekt der DEFAULT-Inhaltsgruppe hinzugefügt.

  • Was ist ein Policy-Hit?

    Eine Auswahl erfolgt, wenn eine Anfrage oder Antwort mit einer Cache-Richtlinie übereinstimmt.

  • Was ist ein Fehlschuss?

    Ein Fehler tritt auf, wenn eine Anfrage oder Antwort keiner Cache-Richtlinie entspricht. Ein Fehler kann auch auftreten, wenn die Anfrage oder Antwort mit einer Cache-Richtlinie übereinstimmt, aber eine Überschreibung des RFC-Verhaltens verhindert, dass das Objekt im Cache gespeichert wird.

  • Ich habe die integrierte Caching-Funktion der NetScaler-Appliance konfiguriert. Beim Hinzufügen der folgenden Richtlinie wird eine Fehlermeldung angezeigt. Gibt es einen Fehler im Befehl?

    add cache policy image_caching -rule exp1 | ns_ext_not_jpeg –action cache

    \> ERROR: No such command

    Im vorherigen Befehl muss der Ausdruck innerhalb der Anführungszeichen stehen. Ohne Anführungszeichen wird der Operator als Pipeoperator betrachtet.

Speicheranforderungen

  • Welche Befehle kann ich auf der NetScaler-Appliance ausführen, um den dem Cache zugewiesenen Speicher zu überprüfen?

    Führen Sie einen der folgenden Befehle über die CLI aus, um den für den Cache zugewiesenen Speicher in der NetScaler-Appliance anzuzeigen:

    • show cache parameter

      Überprüfen Sie in der Ausgabe den Wert des Parameters Speicherauslastungslimit. Dies ist der maximale Speicher, der dem Cache zugewiesen wird.

    • show cache \<Content_Group_Name>

      Überprüfen Sie in der Ausgabe die Werte der Parameter Speichernutzung und Speicherauslastungslimit, die den für die einzelne Inhaltsgruppe verwendeten und zugewiesenen Speicher angeben.

  • Meine NetScaler-Appliance verfügt über 2 GB Arbeitsspeicher. Gibt es ein empfohlenes Speicherlimit für den Cache?

    Für jedes Modell der NetScaler-Appliance können Sie dem Cache die Hälfte des Speichers zuweisen. Citrix empfiehlt jedoch, aufgrund der internen Speicherabhängigkeit etwas weniger als die Hälfte des Speichers zuzuweisen. Sie können den folgenden Befehl ausführen, um dem Cache 1 GB Speicher zuzuweisen:

    set cache parameter -memLimit 1024

  • Ist es möglich, Speicherplatz für einzelne Inhaltsgruppen zuzuweisen?

    Ja. <Content_Group_Name><Integer>Obwohl Sie Speicher für den integrierten Cache global zuweisen, indem Sie den set-Cache-Parameter —memlimit ausführen<Integer>, können Sie einzelnen Inhaltsgruppen Speicher zuweisen, indem Sie den Befehl set cache —MemLimit ausführen. Der maximale Speicher, den Sie Inhaltsgruppen (kombiniert) zuweisen können, darf den Speicher, den Sie dem integrierten Cache zugewiesen haben, nicht überschreiten.

  • Was ist die Abhängigkeit des Speichers zwischen integriertem Cache und TCP-Puffer?

    Wenn die NetScaler-Appliance über 2 GB Speicher verfügt, reserviert die Appliance ungefähr 800 MB bis 900 MB Arbeitsspeicher, und der Rest wird dem FreeBSD-Betriebssystem zugewiesen. Daher können Sie dem integrierten Cache bis zu 512 MB Speicher zuweisen und der Rest wird dem TCP-Puffer zugewiesen.

  • Wirkt es sich auf den Caching-Prozess aus, wenn ich dem integrierten Cache keinen globalen Speicher zuweise?

    Wenn Sie dem integrierten Cache keinen Speicher zuweisen, werden alle Anfragen an den Server gesendet. Führen Sie den Befehl show cache parameter aus, um sicherzustellen, dass Sie dem integrierten Cache Speicher zugewiesen haben. Eigentlich werden keine Objekte zwischengespeichert, wenn der globale Speicher 0 ist, also muss er zuerst gesetzt werden.

Überprüfungsbefehle

  • Welche Optionen gibt es für die Anzeige von Cache-Statistiken?

    Sie können eine der folgenden Optionen verwenden, um die Statistiken für den Cache anzuzeigen:

    • stat cache

      Um die Zusammenfassung der Cache-Statistiken anzuzeigen.

    • stat cache –detail

      Um die vollständigen Details der Cache-Statistik anzuzeigen.

  • Welche Optionen gibt es für die Anzeige des zwischengespeicherten Inhalts?

    Um den zwischengespeicherten Inhalt anzuzeigen, können Sie den show cache object Befehl ausführen.

  • Welchen Befehl kann ich ausführen, um die Eigenschaften eines im Cache gespeicherten Objekts anzuzeigen?

    Wenn das im Cache gespeicherte Objekt beispielsweise GET //10.102.12.16:80/index.html ist, können Sie die Details zu dem Objekt anzeigen, indem Sie den folgenden Befehl über die CLI der Appliance ausführen:

    show cache object -url '/index.html' -host 10.102.3.96 -port 80

  • Ist es zwingend erforderlich, den Gruppennamen als Parameter anzugeben, um die parametrisierten Objekte im Cache anzuzeigen?

    Ja. Es ist zwingend erforderlich, den Gruppennamen als Parameter anzugeben, um die parametrisierten Objekte im Cache anzuzeigen. Stellen Sie sich zum Beispiel vor, dass Sie die folgenden Richtlinien mit derselben Regel hinzugefügt haben:

     add cache policy p2 -rule ns_url_path_cgibin -action CACHE –storeInGroup g1
     add cache policy p1 -rule ns_url_path_cgibin -action CACHE -storeInGroup g2
     <!--NeedCopy-->
    

    In diesem Fall wird bei mehreren Anfragen, wenn die Richtlinie p1 ausgewertet wird, ihr Auswahlzähler erhöht und die Richtlinie speichert das Objekt in der Gruppe g1, die über Auswahlparameter verfügt. Daher müssen Sie den folgenden Befehl ausführen, um die Objekte aus dem Cache anzuzeigen:

    show cache object -url "/cgi-bin/setCookie.pl" -host 10.102.18.152 groupName g1

    In ähnlicher Weise wird bei einer anderen Gruppe von Mehrfachanfragen, wenn die Richtlinie p2 ausgewertet wird, ihr Auswahlzähler erhöht und die Richtlinie speichert das Objekt in der g2-Gruppe, die keine Auswahlparameter hat. Daher müssen Sie den folgenden Befehl ausführen, um die Objekte aus dem Cache anzuzeigen:

    show cache object -url "/cgi-bin/setCookie2.pl" -host 10.102.18.152

  • Ich stelle fest, dass die Ausgabe des Befehls nscachemgr einige leere Einträge enthält. Was sind das für Einträge?

    Betrachten Sie die folgende Beispielausgabe des nscachemgr Befehls. Die leeren Einträge in dieser Ausgabe werden für Ihre Referenz fett hervorgehoben:

     root@ns# /netscaler/nscachemgr -a
     //10.102.3.89:80/image8.gif
     //10.102.3.97:80/staticdynamic.html
     //10.102.3.97:80/
     //10.102.3.89:80/image1.gif
     //10.102.3.89:80/file5.html
     //10.102.3.96:80/
     //10.102.3.97:80/bg_logo_segue.gif
     //10.102.3.89:80/file500.html
     //10.102.3.92:80/
     //10.102.3.96:80/cgi-bin/rfc/ccProxyReval.pl
     Total URLs in IC = 10
     <!--NeedCopy-->
    

    Die leeren Einträge in der Ausgabe sind auf die Standard-Caching-Eigenschaften für GET/HTTP/1.1 zurückzuführen.

Objekte spülen

  • Wie kann ich ein selektives Objekt aus dem Cache löschen?

    Sie können ein Objekt anhand seiner vollständigen URL eindeutig identifizieren. Um ein solches Objekt zu leeren, können Sie eine der folgenden Aufgaben ausführen:

    • Cache leeren
    • Inhaltsgruppe leeren
    • Das spezifische Objekt leeren

    Um das spezifische Objekt zu leeren, müssen Sie die Abfrageparameter angeben. Sie geben den Parameter InvalParam an, um das Objekt zu leeren. Dieser Parameter gilt nur für eine Abfrage.

  • Löst eine Änderung der Cache-Konfiguration das Leeren des Caches aus?

    Ja. Wenn Sie zur Cache-Konfiguration wechseln, leeren alle SET-Cache-Befehle automatisch die entsprechenden Inhaltsgruppen.

  • Ich habe die Objekte auf dem Server aktualisiert. Muss ich die zwischengespeicherten Objekte leeren?

    Ja. Wenn Sie Objekte auf dem Server aktualisieren, müssen Sie die zwischengespeicherten Objekte oder zumindest die relevanten Objekte und Inhaltsgruppen leeren. Der integrierte Cache ist von einem Update auf dem Server nicht betroffen. Es stellt die zwischengespeicherten Objekte weiterhin bereit, bis sie ablaufen.

Flash-Cache

  • Was ist die Flash-Cache-Funktion der NetScaler-Appliance?

    Das Phänomen Flash Crowds tritt auf, wenn viele Kunden auf dieselben Inhalte zugreifen. Das Ergebnis ist ein plötzlicher Anstieg des Datenverkehrs zum Server. Die Flash-Cache-Funktion ermöglicht es der NetScaler-Appliance, die Leistung in einer solchen Situation zu verbessern, indem nur eine Anfrage an den Server gesendet wird. Alle anderen Anfragen werden auf der Appliance in die Warteschlange gestellt und die einzige Antwort wird auf die Anfragen gesendet. Sie können einen der folgenden Befehle verwenden, um die Fast Cache-Funktion zu aktivieren:

    • add cache contentGroup \<Group_Name> -flashCache YES
    • set cache contentGroup \<Group_Name> -flashCache YES
  • Was ist das Limit für Flash-Cache-Clients?

    Die Anzahl der Flash Cache-Clients hängt von der Verfügbarkeit der Ressourcen auf der NetScaler-Appliance ab.

Standardverhalten

  • Empfängt die NetScaler-Appliance nach Ablauf proaktiv Objekte?

    Die NetScaler-Appliance empfängt nach Ablauf niemals proaktiv Objekte. Dies gilt auch für die negativen Objekte. Der erste Zugriff nach Ablauf löst eine Anfrage an den Server aus.

  • Fügt der integrierte Cache der Warteschlange Clients für die Bereitstellung hinzu, noch bevor er die Antwort empfängt?

    Ja. Der integrierte Cache fügt der Warteschlange Clients für die Bereitstellung hinzu, noch bevor die Antwort empfangen wird.

  • Was ist der Standardwert für den Parameter „Gecached object using überprüfen“ der Cache-Konfiguration?

    HOSTNAME_AND_IP ist der Standardwert.

  • Erstellt die NetScaler-Appliance Protokolleinträge in den Protokolldateien?

    Ja. Die NetScaler-Appliance erstellt Protokolleinträge in den Protokolldateien.

  • Werden komprimierte Objekte im Cache gespeichert?

    Ja. Komprimierte Objekte werden im Cache gespeichert.

Interoperabilität mit anderen Funktionen

  • Was passiert mit Objekten, die derzeit im Cache gespeichert sind und auf die über SSL VPN zugegriffen wird?

    Objekte, die im Cache gespeichert sind und auf die regelmäßig zugegriffen werden, werden als Cache bereitgestellt, wenn Sie über das SSL-VPN aufgerufen werden.

  • Was passiert mit Objekten, die im Cache gespeichert sind, wenn über SSL VPN zugegriffen und später über eine reguläre Verbindung zugegriffen wird?

    Die über den SSL-VPN-Zugriff gespeicherten Objekte werden als Auswahl dienen, wenn über die reguläre Verbindung zugegriffen wird.

  • Wie unterscheide ich bei der Verwendung von Weblogs Einträge, die auf eine vom Cache bereitgehaltene Antwort hinweisen, von denen, die vom Server bedient werden?

    Für Antworten, die aus dem integrierten Cache bereitgestellt werden, enthält das Serverlogfeld den Wert IC. Für Antworten, die von einem Server bereitgestellt werden, enthält das Serverprotokollfeld den vom Server gesendeten Wert. Im Folgenden finden Sie ein Beispiel für einen Protokolleintrag für eine integrierte Caching-Transaktion:

    "10.102.1.52 - "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; .NET CLR 1.0.3705)" "GET /" 200 0 "IC" 10.102.1.45"

    Zusammen mit einer Client-Anfrage ist die protokollierte Antwort diejenige, die an den Client gesendet wird, und nicht unbedingt die vom Server gesendete.

Hinweis

Wenn Sie das Weblogging verwenden, enthalten die Antworten aus dem integrierten Cache den Wert IC im Serverlogfeld. Das Serverprotokollfeld ist im NSWL-Client mit der Formatspezifikation „%o1“ vorhanden.

Sonstiges

  • Was meinst du mit relexpiry und absexpiry?

    Durch die Konfiguration relexpiry und bedeutet dies absexpiry, dass Sie den Header unabhängig davon, was in der Kopfzeile angezeigt wird, überschreiben. Sie können eine andere Ablaufeinstellung und die Ebene der Inhaltsgruppe konfigurieren. Mit relexpirybasiert der Ablauf des Headers auf dem Zeitpunkt, zu dem das Objekt vom NetScaler empfangen wird. Mit basiert der Ablauf auf der Zeit absexpiry, die auf dem NetScaler konfiguriert ist. Relexpiry ist in Sekundenschnelle konfiguriert. Absexpiry ist eine Tageszeit.

  • Was meinen Sie mit der Konfiguration von weakpos und heuristisch?

    Die weakpos und Heuristik sind wie Fallback-Werte. Wenn es einen Ablauf-Header gibt, wird es nur berücksichtigt, wenn der zuletzt geänderte Header vorhanden ist. Die NetScaler-Appliance legt das Ablaufdatum auf der Grundlage des zuletzt geänderten Headers und des heuristischen Parameters fest. Die heuristische Ablaufberechnung bestimmt die Zeit bis zum Ablauf, indem der zuletzt geänderte Header überprüft wird. Ein gewisser Prozentsatz der Dauer seit der letzten Änderung des Objekts wird als Zeit bis zum Ablauf verwendet. Die Heuristik eines Objekts, das über einen längeren Zeitraum unverändert bleibt und wahrscheinlich längere Ablaufzeiträume hat. –heurExpiryParam gibt an, welchen Prozentwert in dieser Berechnung verwendet werden soll. Andernfalls verwendet die Appliance den weakpos Wert.

  • Was sollte ich beachten, bevor ich das dynamische Caching konfigurieren?

    Wenn es einen Parameter gibt, der in Form eines Namenswerts vorliegt und nicht über die vollständige URL-Abfrage verfügt, oder wenn die Appliance den Parameter in einem Cookie-Header oder POST-Text empfängt, sollten Sie erwägen, dynamisches Caching zu konfigurieren. Um dynamisches Caching zu konfigurieren, müssen Sie den Parameter hitParams konfigurieren.

  • Wie wird die Hexadezimalkodierung in den Parameternamen unterstützt?

    Auf der NetScaler-Appliance wird die %HEXHEX-Codierung in den Parameternamen unterstützt. In den Namen, die Sie für HitParams oder InvalParams angeben, können Sie einen Namen angeben, der die %HEXHEX-Codierung in den Namen enthält. Beispielsweise sind Name, Name%65 und n %61m%65 gleichwertig.

  • Wie wird ein HitParam-Parameter ausgewählt?

    Sehen Sie sich den folgenden Auszug eines HTTP-Headers für eine POST-Anfrage an:

     POST /data2html.asp?param1=value1&param2=&param3&param4=value4
     HTTP/1.1
     Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
     application/vnd.ms-powerpoint, application/vnd.ms-excel,
     application/msword, application/x-shockwave-flash, \*/\*
     Referer: http://10.102.3.97/forms.html
     Accept-Language: en-us
     Content-Type: application/x-www-form-urlencoded
     Accept-Encoding: gzip, deflate
     User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
     Host: 10.102.3.97
     Content-Length: 153
     Connection: Keep-Alive
     Cache-Control: no-cache
     Cookie: ASPSESSIONIDQGQGGRNY=NNLLKDADEENOAFLCCDGFGDMO
     S1=This+text+is+only+text%2C+not+more+and+not+less%2C+%0D%0Ajust+text+to+be+itself%2C+namely+%22Text%22+to+be+posted+as+text+%28what+else...%29&B1=Submit
     <!--NeedCopy-->
    

    In der vorherigen Anfrage können Sie S1 und B1, zu Ihrer Information fett hervorgehoben, als HitParams verwenden, je nach Ihren Anforderungen. Wenn Sie -matchCookies YES in der Inhaltsgruppe ASPSESSIONIDQGQGGRNY verwenden, können Sie diese Parameter auch als HitParams verwenden.

  • Was passiert mit den Clients in der Warteschlange, wenn die Antwort nicht zwischenspeicherbar ist?

    Wenn die Antwort nicht zwischenspeicherbar ist, erhalten alle Clients in der Warteschlange dieselbe Antwort, die der erste Client erhält.

  • Kann ich die Funktionen Umfrage jedesmal (PET) und Flash Cache für dieselbe Inhaltsgruppe aktivieren?

    Nein. Sie können PET und Flash Cache nicht für dieselbe Inhaltsgruppe aktivieren. Der integrierte Cache führt die AutoPet-Funktion für Flash-Cache-Inhaltsgruppen nicht aus. Die PET-Funktion stellt sicher, dass der integrierte Cache ein gespeichertes Objekt nicht ohne Rücksprache mit dem Server bedient. Sie können PET explizit für eine Inhaltsgruppe konfigurieren.

  • Wann werden die Logeinträge für die Clients in der Warteschlange erstellt?

    Die Protokolleinträge werden für die Clients in der Warteschlange erstellt, kurz nachdem die Appliance den Antwortheader empfangen hat. Die Protokolleinträge werden nur erstellt, wenn der Antwortheader das Objekt nicht zwischenspeicherbar macht.

  • Was bedeuten die DNS-, HOSTNAME- und HOSTNAME_AND_IP-Werte des Parameters „Gecachte Objekte mithilfe des Cache-Konfigurationsparameters überprüfen“?

    Die Bedeutungen lauten wie folgt:

    • set cache parameter -verifyUsing HOSTNAME

      Der Befehl ignoriert die Ziel-IP-Adresse.

    • set cache parameter -verifyUsing HOSTNAME_AND_IP

      Der Befehl entspricht der Ziel-IP-Adresse.

    • set cache parameter -verifyUsing DNS

      Der Befehl verwendet den DNS-Server.

  • Ich habe WeakNegrelExpiry auf 600 gesetzt, was 10 Minuten entspricht. Mir ist aufgefallen, dass 404-Antworten nicht zwischengespeichert werden. Was ist der Grund?

    Das hängt vollständig von Ihrer Konfiguration ab. Standardmäßig werden 404-Antworten 10 Minuten lang zwischengespeichert. Wenn Sie möchten, dass alle 404-Antworten vom Server abgerufen werden, geben Sie —weakNegrelExpiry 0 an. Sie können —weakNegrelExpiry auf einen gewünschten Wert feineinstellen, z. B. auf einen höheren oder niedrigeren Wert, damit die 404-Antworten entsprechend zwischengespeichert werden. Wenn Sie —absExpiry für positive Antworten konfiguriert haben, führt dies möglicherweise nicht zu den gewünschten Ergebnissen.

  • Wenn der Benutzer mit dem Mozilla Firefox-Browser auf die Website zugreift, wird der aktualisierte Inhalt bereitgestellt. Wenn der Benutzer jedoch mithilfe des Microsoft Internet Explorer-Browsers auf die Website zugreift, werden veraltete Inhalte bereitgestellt. Was könnte der Grund sein?

    Der Microsoft Internet Explorer-Browser bezieht den Inhalt möglicherweise aus seinem lokalen Cache und nicht aus dem integrierten NetScaler-Cache. Der Grund dafür kann sein, dass der Microsoft Internet Explorer-Browser den mit dem Ablaufdatum verbundenen Header in der Antwort nicht respektiert.

    Um dieses Problem zu beheben, können Sie den lokalen Cache des Internet Explorers deaktivieren und den Offline-Inhalt löschen. Nach dem Löschen des Offline-Inhalts muss der Browser den aktualisierten Inhalt anzeigen.

  • Was ist, wenn die Treffer Null sind?

    Überprüfen Sie, ob die Serverzeit und die NS-Zeit synchronisiert sind. Und das eingestellte WeakPosrExpiry-Limit muss den Zeitunterschied zwischen NS und Server wie folgt berücksichtigen:

     root@ns180# date
     Tue May 15 18:53:52 IST 2012
     <!--NeedCopy-->
    
  • Warum erhalten Richtlinien Treffer, aber nichts wird zwischengespeichert?

    Stellen Sie sicher, dass dem integrierten Cache Speicher zugewiesen ist und dass die Zuweisung größer als Null ist.

  • Ist es möglich, die Cache-Zähler auf Null zu setzen?

    Es gibt keine Befehlszeile oder GUI-Option, um die Cache-Zähler auf Null zu setzen, und das Leeren des Caches tut dies auch nicht. Wenn Sie das Feld neu starten, werden diese Leistungsindikatoren automatisch auf Null gesetzt.

Integriertes Caching