Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Trafficreduzierung mit XCompress

Geschrieben von: Christoph Wille
Kategorie: Optimierung

Der Traffic einer Site wächst mit deren Popularität, und irgendwann erreichen die Kosten für den Datentransfer eine Höhe, wo man sich Optionen überlegen sollte. Ein einfacher und schnell umgesetzter Ansatz ist die HTTP Komprimierung, die den Traffic deutlich reduzieren kann.

Auf AspHeute haben wir im Artikel HTTP Komprimierung in IIS5 bereits über die Bordmittel von IIS 5 geschrieben, mit denen man HTTP Komprimierung gratis implementieren kann. Warum also auf eine kommerzielle Lösung wie XCompress setzen?

Der Compression Filter von IIS 5 hat einige Schwächen, die im Artikel HTTP Komprimierung in IIS5 angesprochen werden: die Aktivierung ist nur per Server möglich, die Implementierung hauptsächlich auf statische Inhalte ausgerichtet, und die Definition von welche Inhalte/Dateitypen komprimiert werden sollen höchst umständlich. Hier kommt uns XCompress sehr entgegen:

  • Das Aktivieren der Komprimierung ist per Site möglich
  • Was komprimiert werden soll definiert man über MIME Types, nicht Dateiendungen
  • GET und POST werden unterstützt (POST ist gerade für Datenbanksuchformulare mit großen Resultsets interessant)
  • Scripts können per HTTP Header mitteilen, daß sie nicht komprimiert werden sollen

Komprimierung aktivieren

Den Installationsschritt kann ich mir für diesen Artikel ersparen, da XCompress mit einem InstallShield Installer ausgeliefert wird, der alle Arbeit übernimmt. Um für eine Site die Komprimierung zu aktivieren, müssen Sie im Start Menü auf XCompress / XCompress Manager gehen. Dies ist im Prinzip der altbekannte ISM (Internet Services Manager), nur haben wir bei den Siteeigenschaften einen Propertytab mehr:

Ich habe die Komprimierung bereits aktiviert, die Typen sind die von XCompress vorgegebenen. Text kann klarerweise am besten komprimiert werden, nicht empfehlen werden sich Bildtypen wie JPEG oder ZIP Dateien. Da die Komprimierung auf MIME Types achtet, ergeben sich nicht mehr die Probleme wie mit dem IIS 5 Compression Filter, der auch ASP Dateien komprimiert hat, die andere als Textdaten zurückgeliefert haben.

Wie arbeitet XCompress?

XCompress ist als ISAPI Filter ausgeführt, bekommt also alle Requests mit, die der Web Server abarbeitet. Ein normaler Webserver ohne XCompress liefert folgende Response Header:

Die aufgerufene ASP Datei ist ein kleines aber hilfreiches Debuggingscript für die Header, die der Client (also meistens der Browser) schickt:

<%=Request.ServerVariables("all_http")%>

Ist XCompress installiert, dann modifiziert es den Server Header:

Zu Demonstrationszwecken schicke ich hier den ACCEPT_ENCODING Header vom Client aus mit: dieser weist den Server an, daß der Client komprimierten Content annehmen kann. Schickt der Browser diesen Header nicht, tritt XCompress auch nicht in Aktion. Will man Browser überwachen, dann benötigt man einen Proxy, wie im Artikel Mitlauschen bei der Browser-Webserver Kommunikation gezeigt.

Monitoring von XCompress

Ein weiterer Vorteil gegenüber dem Compression Filter ist das gut ausgebaute Monitoring. Dies läuft wie immer über den Performance Monitor, und man kann die Counter per Website analysieren. Zu finden sind diese unter der Gruppierung XCompress:

Zum Beispiel sieht man hier die Gesamtanzahl der komprimiert ausgelieferten Requests der Website über die Zeit aufgetragen:

Eine detaillierte Auflistung der Counter finden Sie in der Hilfedatei von XCompress (Tip: die FAQs und White Papers in der Hilfe lesen!).

Schlußbemerkung

Obwohl IIS 5 mit einem Compression Filter ausgeliefert wird, gibt es dennoch gute Gründe nach einer anderen Lösung zu greifen. Meine zwei Hauptpunkte für XCompress: Komprimierung von POST Requests und die Komprimierung basierend auf dem MIME Type.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Einführung in Performance Monitoring
HTTP Komprimierung in IIS5
Mitlauschen bei der Browser-Webserver Kommunikation
Serverseitiges Caching mit XCache
XTune Revisited

Links zu anderen Sites

C# Http Compression Module
XCompress

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.