HTTP-Komprimierung

Bei Websites mit komprimierbarem Inhalt implementiert die HTTP-Komprimierungsfunktion verlustfreie Komprimierung, um Latenz, lange Downloadzeiten und andere Netzwerkleistungsprobleme zu verringern, indem die HTTP-Antworten komprimiert werden, die von Servern an komprimierungsfähige Browser gesendet werden. Sie können die Serverleistung verbessern, indem Sie die rechenintensive Komprimierungsaufgabe von Ihren Servern auf die Citrix ADC Appliance verlagern.

In der folgenden Tabelle werden die Funktionen der HTTP-Komprimierungsfunktion beschrieben:

Funktionalität Beschreibung
Komprimierungsverhältnis Das Komprimierungsverhältnis hängt von den Dateitypen in den Antworten ab, ist aber immer signifikant, wodurch die Menge der über das Netzwerk übertragenen Daten spürbar reduziert wird.
Browser-Bewusstsein Citrix ADC stellt komprimierte Daten nur für komprimierungsfähige Browser bereit, wodurch die Transaktionszeit zwischen Client und Server verkürzt wird. Die meisten modernen Webbrowser unterstützen HTTP-Komprimierung.
Komprimierungsblockierung Sie können Inhaltsfilter definieren, um die Komprimierung selektiv zu blockieren, indem Sie integrierte Aktionen anwenden.
Komprimierungszwischenspeicherung Wenn die integrierte Caching-Funktion aktiviert ist, werden nachfolgende Anforderungen für denselben Inhalt aus dem lokalen Cache bereitgestellt, wodurch die Anzahl der Roundtrips an den Server reduziert und die Transaktionszeiten verbessert werden.
HTTPS-Unterstützung Die Komprimierung ist besonders bei SSL-Verbindungen nützlich, da sie die Menge an Inhalten reduziert, die entweder auf dem Server oder von der Citrix ADC Appliance verschlüsselt und vom Client entschlüsselt werden müssen.
Intelligente Antwortfilterung Die Citrix ADC Komprimierungs-Engine filtert Serverantworten intelligent anhand definierter Komprimierungsparameter. Beispielsweise erkennt die Komprimierungs-Engine Antworten ohne Inhalt und komprimierte Antworten und komprimiert sie nicht. Durch die Erkennung komprimierter Antworten können Ursprungswebsites serverbasierte Komprimierung in Verbindung mit der Citrix ADC Komprimierungsfunktion verwenden.
Kompressionsschaltung Die Citrix ADC Appliance leitet Anforderungen von komprimierungsfähigen Clients transparent an komprimierungsfähige Server weiter, sodass die Antworten auf diese Clients komprimiert werden und die Antworten auf andere Clients durch Komprimierungsverarbeitung nicht verzögert werden.

Funktionsweise der HTTP-Komprimierung

Ein Citrix ADC kann sowohl statische als auch dynamisch generierte Daten komprimieren. Es wendet den GZIP- oder den DEFLATE-Komprimierungsalgorithmus an, um fremde und sich wiederholende Informationen aus den Serverantworten zu entfernen und die ursprünglichen Informationen in einem kompakteren und effizienteren Format darzustellen. Diese komprimierten Daten werden an den Browser des Clients gesendet und nach dem vom Browser unterstützten Algorithmus oder Algorithmen (GZIP oder DEFLATE) des Browsers unkomprimiert.

Citrix ADC Komprimierung behandelt statische und dynamische Inhalte anders.

  • Statische Dateien werden nur einmal komprimiert, und eine komprimierte Kopie wird im lokalen Speicher gespeichert. Nachfolgende Clientanforderungen für zwischengespeicherte Dateien werden aus diesem Speicher gewartet.
  • Dynamische Seiten werden jedes Mal dynamisch erstellt, wenn ein Client sie anfordert.

Wenn ein Client eine Anforderung an den Server sendet:

  1. Die Clientanforderung kommt beim Citrix ADC an. Der ADC untersucht die Header und speichert Informationen darüber, welche Art von Komprimierung, falls vorhanden, der Browser unterstützt.
  2. Der ADC leitet die Anforderung an den Server weiter und empfängt die Antwort.
  3. Das Citrix ADC Komprimierungsmodul untersucht die Serverantwort auf Komprimierbarkeit, indem es mit Richtlinien übereinstimmt.
  4. Wenn die Antwort einer Richtlinie entspricht, die einer Komprimierungsaktion zugeordnet ist und der Clientbrowser einen durch die Aktion angegebenen Komprimierungsalgorithmus unterstützt, wendet Citrix ADC den Algorithmus an und sendet die komprimierte Antwort an den Clientbrowser.
  5. Der Client wendet den unterstützten Komprimierungsalgorithmus an, um die Antwort zu dekomprimieren.

Konfigurieren der HTTP-Komprimierung

Standardmäßig ist die Komprimierung auf dem Citrix ADC deaktiviert. Sie müssen das Feature aktivieren, bevor Sie es konfigurieren. Wenn das Feature aktiviert ist, komprimiert der ADC Serveranforderungen, die durch Komprimierungsrichtlinien angegeben werden.

So aktivieren Sie die HTTP-Komprimierung mit der CLI

Die Komprimierung kann nur für HTTP- und SSL-Dienste aktiviert werden. Sie können es global aktivieren, so dass es für alle HTTP- und SSL-Dienste gilt, oder Sie können es nur für bestimmte Dienste aktivieren.

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein, um die Komprimierung global oder für einen bestimmten Dienst zu aktivieren:

  • enable ns feature cmp ODER
  • set service <name> -CMP YES

So konfigurieren Sie die Komprimierung mit der GUI

Führen Sie einen der folgenden Schritte aus:

Um die Komprimierung global zu aktivieren, navigieren Sie zu System > Einstellungen, klicken Sie auf Grundfunktionen konfigurieren und wählen Sie HTTP-Komprimierung aus.

Um die Komprimierung für einen bestimmten Dienst zu aktivieren, navigieren Sie zu Traffic Management > Load Balancing > Services, wählen Sie den Dienst aus, und klicken Sie auf Bearbeiten. Klicken Sie in der Gruppe Einstellungen auf das Bleistiftsymbol, und aktivieren Sie die Komprimierung.

Konfigurieren einer Komprimierungsaktion

Eine Komprimierungsaktion gibt die Aktion an, die ausgeführt werden soll, wenn eine Anforderung oder Antwort mit der Regel (Ausdruck) in der Richtlinie übereinstimmt, der die Aktion zugeordnet ist. Sie können beispielsweise eine Komprimierungsrichtlinie konfigurieren, die Anforderungen identifiziert, die an einen bestimmten Server gesendet werden, und die Richtlinie einer Aktion zuordnen, die die Antwort des Servers komprimiert.

Es gibt vier integrierte Komprimierungsaktionen:

  • COMPRESS: Verwendet den GZIP-Algorithmus, um Daten aus Browsern zu komprimieren, die entweder GZIP oder sowohl GZIP als auch DEFLATE unterstützen. Verwendet den DEFLATE Algorithmus, um Daten aus Browsern zu komprimieren, die nur den DEFLATE Algorithmus unterstützen. Wenn der Browser keinen Algorithmus unterstützt, wird die Antwort des Browsers nicht komprimiert.
  • NOCOMPRESS: Komprimiert keine Daten.
  • GZIP: Verwendet den GZIP-Algorithmus, um Daten für Browser zu komprimieren, die GZIP-Komprimierung unterstützen. Wenn der Browser den GZIP-Algorithmus nicht unterstützt, wird die Antwort des Browsers nicht komprimiert.
  • DEFLATE: Verwendet den DEFLATE Algorithmus, um Daten für Browser zu komprimieren, die den DEFLATE Algorithmus unterstützen. Wenn der Browser den DEFLATE Algorithmus nicht unterstützt, wird die Antwort des Browsers nicht komprimiert. Nachdem Sie eine Aktion erstellt haben, ordnen Sie die Aktion einer oder mehreren Komprimierungsrichtlinien zu.

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um eine Komprimierungsaktion zu erstellen:

add cmp action <name> <cmpType> [-addVaryHeader <addVaryHeader> -varyHeaderValue<string>]

So konfigurieren Sie eine Komprimierungsrichtlinie mit der CLI

Eine Komprimierungsrichtlinie enthält eine Regel, bei der es sich um einen logischen Ausdruck handelt, der es der Citrix ADC Appliance ermöglicht, den zu komprimierenden Datenverkehr zu identifizieren.

Wenn Citrix ADC eine HTTP-Antwort von einem Server empfängt, werden die integrierten Komprimierungsrichtlinien und alle benutzerdefinierten Komprimierungsrichtlinien ausgewertet, um zu bestimmen, ob die Antwort komprimiert werden soll, und falls ja, der anzuwendende Komprimierungstyp. Die den Richtlinien zugewiesenen Prioritäten bestimmen die Reihenfolge, in der die Richtlinien mit den Anforderungen abgeglichen werden.

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um eine Komprimierungsrichtlinie zu erstellen:

add cmp policy <name> -rule <expression> -resAction <string>

So erstellen Sie eine Komprimierungsaktion mit der GUI

Navigieren Sie zu Optimierung > HTTP-Komprimierung > Aktionen, klicken Sie auf Hinzufügen, und erstellen Sie eine Komprimierungsaktion, um den Komprimierungstyp anzugeben, der für die HTTP-Antwort ausgeführt werden soll.

Konfigurieren einer Komprimierungsrichtlinie

Eine Komprimierungsrichtlinie enthält eine Regel, bei der es sich um einen logischen Ausdruck handelt, der es der Citrix ADC Appliance ermöglicht, den zu komprimierenden Datenverkehr zu identifizieren.

Wenn Citrix ADC eine HTTP-Antwort von einem Server empfängt, werden die integrierten Komprimierungsrichtlinien und alle benutzerdefinierten Komprimierungsrichtlinien ausgewertet, um zu bestimmen, ob die Antwort komprimiert werden soll, und falls ja, der anzuwendende Komprimierungstyp. Die den Richtlinien zugewiesenen Prioritäten bestimmen die Reihenfolge, in der die Richtlinien mit den Anforderungen abgeglichen werden.

In der folgenden Tabelle sind die integrierten HTTP-Komprimierungsrichtlinien aufgeführt. Diese Richtlinien werden global aktiviert, wenn Sie die Komprimierung aktivieren.

Integrierte Standard- oder Standard-Syntaxrichtlinie Beschreibung
ns_nocmp_mozilla_47, ns_adv_nocmp_mozilla_47 Verhindert die Komprimierung von CSS-Dateien, wenn eine Anforderung von einem Mozilla 4.7-Browser gesendet wird.
ns_cmp_mscss, ns_adv_cmp_mscss Komprimiert CSS-Dateien, wenn die Anforderung von einem Microsoft Internet Explorer-Browser gesendet wird.
ns_cmp_msapp, ns_adv_cmp_msapp Komprimiert Dateien, die von den folgenden Anwendungen generiert werden: Microsoft Office Word, Microsoft Office Excel, Microsoft Office PowerPoint.
ns_cmp_content_type, ns_adv_cmp_content_type Komprimiert Daten, wenn die Antwort den Header Content-Typ enthält und Text enthält.
ns_nocmp_xml_ie, ns_adv_nocmp_xml_ie Verhindert die Komprimierung, wenn eine Anforderung von einem Microsoft Internet Explorer-Browser gesendet wird und die Antwort einen Content-Type-Header enthält und Text oder XML enthält.

Binden einer Komprimierungsrichtlinie

Um eine Komprimierungsrichtlinie in Kraft zu setzen, müssen Sie sie entweder global binden, sodass sie für den gesamten Datenverkehr gilt, der über das Citrix ADC fließt, oder für einen bestimmten virtuellen Server, sodass die Richtlinie nur für Anforderungen gilt, deren Ziel die VIP-Adresse dieses virtuellen Servers ist.

Wenn Sie eine Richtlinie binden, weisen Sie ihr eine Priorität zu. Die Priorität bestimmt die Reihenfolge, in der die von Ihnen definierten Richtlinien ausgewertet werden. Sie können die Priorität auf eine beliebige positive Ganzzahl festlegen.

So binden Sie eine Komprimierungsrichtlinie mit der CLI

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein, um eine Komprimierungsrichtlinie global oder an einen bestimmten virtuellen Server zu binden:

  • bind cmp global <policyName> [-priority <positive_integer>] [-state (ENABLED|DISABLED)]
  • bind lb vserver <vserverName> -policyName <policyName> -priority <positive_integer>.

Wiederholen Sie diesen Befehl für jeden virtuellen Server, an den Sie die Komprimierungsrichtlinie binden möchten.

So binden Sie eine Komprimierungsrichtlinie mit der GUI

Führen Sie einen der folgenden Schritte aus:

Auf globaler Ebene Navigieren Sie zu Optimierung > HTTP-Komprimierung > Richtlinien, klicken Sie auf Richtlinien-Manager, und binden Sie die erforderlichen Richtlinien, indem Sie den entsprechenden Bindepunkt und den Verbindungstyp (Anforderung/Antwort) angeben.

Auf virtueller Serverebene

Navigieren Sie zum Lastenausgleichsserver zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, wählen Sie den erforderlichen virtuellen Server aus, klicken Sie auf Richtlinien, und binden Sie die entsprechende Richtlinie.

Wählen Sie für den Content Switching Virtual Server Navigieren Sie zu Traffic Management > Content Switching > Virtual Server, wählen Sie den erforderlichen virtuellen Server aus, klicken Sie auf Richtlinien, und binden Sie die entsprechende Richtlinie.

Festlegen der globalen Komprimierungsparameter für optimale Leistung

Viele Benutzer akzeptieren die Standardwerte für die globalen Komprimierungsparameter, aber Sie können möglicherweise eine effektivere Komprimierung bereitstellen, indem Sie diese Einstellungen anpassen.

Hinweis Nachdem Sie die globalen Komprimierungsparameter konfiguriert haben, müssen Sie die Appliance nicht neu starten. Sie werden sofort auf die neuen Ströme angewendet.

In der folgenden Tabelle werden die Komprimierungsparameter beschrieben, die Sie im Citrix ADC festlegen können.

Komprimierungsparameter Beschreibung
Quantengröße Größe (in KB) des Puffers, der für die Akkumulation von Serverantworten verwaltet wird. Die Antworten werden komprimiert, wenn die Puffergröße diesen Wert überschreitet. Wenn Sie beispielsweise die Quantengröße auf 50 KB festlegen, komprimiert der Citrix ADC den Inhalt des Puffers, wenn seine Größe größer als 50 KB wird. Mindestwert: 1. Maximalwert: 63488 Standard: 57344.
Komprimierungsstufe Komprimierungsebene, die auf Serverantworten angewendet wird. Mögliche Werte: Beste Geschwindigkeit, beste Kompression, optimal.
Minimale HTTP-Antwortgröße Minimale Größe (in Byte) einer komprimierten HTTP-Antwort. Antworten, die kleiner als der von diesem Parameter angegebene Wert sind, werden gesendet, ohne komprimiert zu werden.
Umgehen der Komprimierung bei CPU-Auslastung Citrix ADC CPU-Auslastung in Prozent, bei oder darüber, bei der keine Komprimierung durchgeführt wird. Standard: 100
Richtlinientyp* Art der für die Komprimierung verwendeten Richtlinien. Mögliche Werte: Classic, Default Syntax. Standard: Klassisch.
Serverseitige Komprimierung zulassen Erlauben Sie Servern, komprimierte Daten an den Citrix ADC zu senden.
Druckpaket komprimieren Nach Erhalt eines Pakets mit einem TCP PUSH Flag komprimieren Sie die akkumulierten Pakete sofort, ohne darauf zu warten, dass der Quantenpuffer gefüllt wird.
Externer Cache Ausgabe einer privaten Antwortrichtlinie, die angibt, dass die Antwortnachricht für einen einzelnen Benutzer gedacht ist und nicht von einem freigegebenen oder Proxy-Cache zwischengespeichert werden darf.

So konfigurieren Sie die HTTP-Komprimierung mit der GUI

Führen Sie einen der folgenden Schritte aus:

  • Um die Komprimierung global zu aktivieren, navigieren Sie zu System > Einstellungen, klicken Sie auf Grundfunktionen konfigurieren und wählen Sie HTTP-Komprimierung aus.
  • Um die Komprimierung für einen bestimmten Dienst zu aktivieren, navigieren Sie zu Traffic Management > Load Balancing > Services, wählen Sie den Dienst aus, und klicken Sie auf Bearbeiten .
  • Klicken Sie in der Gruppe Einstellungen auf das Bleistiftsymbol, und aktivieren Sie die Komprimierung .

Konfigurieren der Komprimierungsaktion mit der GUI

Navigieren Sie zu Optimierung > HTTP-Komprimierung > Aktionen, klicken Sie auf Hinzufügen, und erstellen Sie eine Komprimierungsaktion, um den Komprimierungstyp anzugeben, der für die HTTP-Antwort ausgeführt werden soll.

Konfigurieren der Komprimierungsrichtlinie mit der GUI

Navigieren Sie zu Optimierung > HTTP-Komprimierung > Richtlinien, klicken Sie auf Hinzufügen, und erstellen Sie eine Komprimierungsrichtlinie, indem Sie die Bedingung und die entsprechende Aktion angeben, die ausgeführt werden soll.

Komprimierungskonfiguration auswerten

Sie können die Komprimierungsstatistiken im Dashboard-Dienstprogramm oder in einem SNMP-Monitor anzeigen. Das Dashboard-Dienstprogramm zeigt zusammenfassende und detaillierte Statistiken in einem tabellarischen und grafischen Format an.

Optional können Sie auch Statistiken für eine Komprimierungsrichtlinie anzeigen, einschließlich der Anzahl der Treffer, die der Richtlinienindikator während der richtlinienbasierten Komprimierung erhöht.

Hinweis:

  • Weitere Informationen zu den Statistiken und Diagrammen finden Sie in der Dashboard-Hilfe zur Citrix ADC Appliance.
  • Weitere Informationen zu SNMP finden Sie unterSNMPThema.

So zeigen Sie Komprimierungsstatistiken mit der CLI an

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die Komprimierungsstatistik anzuzeigen:

  1. So zeigen Sie die Zusammenfassung der Komprimierungsstatistiken an.

stat cmp

Hinweis: Der Befehl stat cmp policy zeigt Statistiken nur für Standard-Syntaxkomprimierungsrichtlinien an.

  1. So zeigen Sie Komprimierungsrichtlinientreffer und -details show cmp policy <name>an

  2. So zeigen Sie detaillierte Komprimierungsstatistiken stat cmp -detailan

So zeigen Sie Komprimierungsstatistiken mithilfe des Dashboards an:

Auf der Dashboard-Seite können Sie die folgenden Arten von Komprimierungsstatistiken anzeigen:

  • Wählen Sie Komprimierung, um eine Zusammenfassung der Komprimierungsstatistiken anzuzeigen.
  • Um detaillierte Komprimierungsstatistiken nach Protokolltyp anzuzeigen, klicken Sie auf Details
  • Um die Rate der von der Komprimierungsfunktion verarbeiteten Anforderungen anzuzeigen, klicken Sie auf die Registerkarte Grafische Ansicht.

So zeigen Sie Komprimierungsstatistiken mithilfe von SNMP an

Sie können die folgenden Komprimierungsstatistiken mithilfe der SNMP-Netzwerkverwaltungsanwendung anzeigen.

  • Anzahl der Komprimierungsanforderungen (OID: 1.3.6.1.4.1.5951.4.1.1.50.1)
  • Anzahl der übertragenen komprimierten Bytes (OID: 1.3.6.1.4.1.5951.4.1.1.50.2)
  • Anzahl der empfangenen komprimierbaren Bytes (OID: 1.3.6.1.4.1.5951.4.1.1.50.3)
  • Anzahl der übertragenen komprimierbaren Pakete (OID: 1.3.6.1.4.1.5951.4.1.1.50.4)
  • Anzahl der empfangenen komprimierbaren Pakete (OID: 1.3.6.1.4.1.5951.4.1.1.50.5)
  • Verhältnis empfangener komprimierbarer Daten und übertragener komprimierter Daten (OID: 1.3.6.1.4.1.5951.4.1.1.50.6)
  • Verhältnis der empfangenen Gesamtdaten zu den übermittelten Daten (OID: 1.3.6.1.4.1.5951.4.1.1.50.7)

So zeigen Sie zusätzliche Komprimierungsstatistiken mit der GUI an

  1. So zeigen Sie HTTP-Komprimierungsstatistiken an:

Navigieren Sie zu Optimierung > HTTP-Komprimierung, und klicken Sie auf Statistiken .

  1. So zeigen Sie Statistiken einer Komprimierungsrichtlinie an.

Navigieren Sie zu Optimierung > HTTP-Komprimierung > Richtlinien > wählen Sie die Richtlinie aus, und klicken Sie auf Statistiken .

  1. So zeigen Sie Statistiken einer Komprimierungsrichtlinienbezeichnung an

  2. Navigieren Sie zu Optimierung > HTTP-Komprimierung > Richtlinien > wählen Sie eine Richtlinienbezeichnung aus, und klicken Sie auf Statistiken .

HTTP-Komprimierung entladen

Durch die Komprimierung auf einem Server kann sich die Leistung des Servers auswirken. Ein Citrix ADC, der sich vor Ihren Webservern befindet und für die HTTP-Komprimierung konfiguriert ist, wird die Komprimierung von statischen und dynamischen Inhalten entlastet, wodurch die CPU-Zyklen und Ressourcen des Servers gespart werden.

Sie können die Komprimierung von den Webservern auf zwei Arten entladen:

Deaktivieren Sie die Komprimierung auf den Webservern, aktivieren Sie die Citrix ADC Komprimierungsfunktion auf globaler Ebene und konfigurieren Sie Dienste für die Komprimierung.

Lassen Sie die Komprimierungsfunktion auf den Webservern aktiviert, und konfigurieren Sie die Citrix ADC Appliance, um den Header Accept Encoding aus allen HTTP-Clientanforderungen zu entfernen. Die Server senden dann unkomprimierte Antworten. Citrix ADC komprimiert die Serverantworten, bevor sie an die Clients gesendet werden.

Hinweis Die zweite Option funktioniert nicht, wenn die Server automatisch alle Antworten komprimieren. Citrix ADC versucht nicht, eine bereits komprimierte Antwort zu komprimieren.

Der Parameter Servercmp ermöglicht es der Citrix ADC Appliance, die HTTP-Kompression zu entlasten. Dieser Parameter ist standardmäßig aktiviert, damit der Server komprimierte Daten an die Citrix ADC Appliance sendet. Um die HTTP-Komprimierung zu entlasten, müssen Sie den Parameter servercmp auf OFF setzen. Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

set service <service name> -CMP YES

Wiederholen Sie diesen Befehl für jeden Dienst, für den Sie die Komprimierung aktivieren möchten.

show service <service name>

Wiederholen Sie diesen Befehl für jeden Dienst, um zu überprüfen, ob die Komprimierung aktiviert ist.

Save config

set cmp parameter –serverCmp OFF

Hinweis:

Wenn derServercmp Parameter aktiviert ist und die Appliance komprimierte Antwort vom Server erhält, komprimiert die Appliance die Daten nicht weiter. Stattdessen leitet es die komprimierte Antwort an den Client weiter.