Trafficreduzierung mit XCompress
Geschrieben von: Christoph Wille 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:
Komprimierung aktivierenDen 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 XCompressEin 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ßbemerkungObwohl 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 CodesKlicken Sie hier, um den Download zu starten. Verwandte Artikel
Einführung in Performance Monitoring Links zu anderen Sites
C# Http Compression Module 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.
©2000-2006 AspHeute.com |