Was ist die empfohlene Mindestobjektgröße für die Leistung von gzip?


31

Ich arbeite daran, die Anzeigezeiten für die Seitengeschwindigkeit zu verbessern, und eine der Methoden besteht darin, Inhalte vom Webserver zu gzipen.

Google empfiehlt :

Beachten Sie, dass Gzipping nur für größere Ressourcen von Vorteil ist. Aufgrund des Overheads und der Latenz bei der Komprimierung und Dekomprimierung sollten Sie Dateien nur über einem bestimmten Größenschwellenwert gzipen. Wir empfehlen einen Mindestbereich zwischen 150 und 1000 Byte. Gzipping-Dateien unter 150 Bytes können sie tatsächlich größer machen.

Wir stellen unsere Inhalte über Akamai bereit und verwenden deren Netzwerk als Proxy und CDN. Was sie mir gesagt haben:

Wenn Sie Ihre Frage nach der Mindestgröße beantworten, komprimiert Akamai das angeforderte Objekt beim Senden an den Endbenutzer: Die Mindestgröße beträgt 860 Byte.

Meine Antwort:

Was ist der Grund, warum Akamai mindestens 860 Byte groß ist? Und warum ist dies beispielsweise nicht der Fall bei Dateien, die Akamai für Facebook bereitstellt? ( siehe unten ) Google empfiehlt, aggressiver zu zippen. Und das scheint auf unserer Site angemessen zu sein, wo die mit Abstand häufigsten Zugriffe AJAX-Aufrufe sind, die <860 Byte sind.Facebook-Header-Screenshot, der Akamais Aussage bestreitet

Akamais Antwort:

Die Gründe, warum 860 Bytes die Mindestgröße für die Komprimierung sind, sind zweifach: (1) Der Mehraufwand für die Komprimierung eines Objekts unter 860 Bytes überwiegt den Leistungsgewinn. (2) Objekte mit weniger als 860 Byte können ohnehin über ein einzelnes Paket übertragen werden, sodass es keinen zwingenden Grund gibt, sie zu komprimieren.

Also bin ich hier, um nach Fakten zu suchen.Ist das 860-Byte-Limit aufgrund der Paketgröße das Ende dieser Überlegungen? Warum sollten Websites mit hohem Datenverkehr dies auf die 150-Byte-Grenze drängen, um nur Bandbreitenkosten zu sparen (da CDNs ihre Gebühren auf die vom Ursprung ausgelagerte Bandbreite beziehen), oder ist dies mit einem Leistungsgewinn verbunden?


09.07.12 Update: Ich habe Steve Souders gefragt ob es einen Leistungsgewinn bei Gzipping-Antworten gibt, die bereits kleiner als ein Paket sind, und was die empfohlene Mindestobjektgröße für Gzip-Leistungsvorteile ist. Dies ist seine Antwort:

Vielen Dank für Ihre E-Mail. Die Größe liegt irgendwo zwischen 1-5K. Apache hat eine Standardeinstellung, aber ich vergesse, was es ist - das wäre eine gute Anleitung.

Wir machen unsere Komprimierung auf einer F5-Appliance, also werden wir sie auf ~ 350 Bytes senken, da es eine anständige Menge von AJAX-Aufrufen zwischen dieser und 1K gibt. Die AJAX-Aufrufe, die weniger als 350 Bytes auf unserer Website enthalten, sind alle um die 70 Bytes niedriger als die Empfehlungen von Google. Es scheint also, als ob Sie auf Folgendes zurückgreifen: Kennen Sie Ihre Website und passen Sie sie basierend auf Ihrem Code an .

Ich werde auf diesen Beitrag zurückkommen, nachdem das F5-Update eine Weile in der Produktion ausgeführt wurde. Ich denke, es wird wenig Leistung bringen, aber wir werden unsere Akamai-Kosten etwas senken, da sie weniger liefern.


@Steve, in Bezug auf die April- Ausgabe fügte ich zur Verdeutlichung des Gefühls welp hinzu , da der Experte auf diesem Gebiet keine der beiden Fragen beantwortete. Ich habe mich sehr gefreut, von Mr. Sounders zu hören, aber er kannte auch keine endgültige Antwort.
Utt73

Was "Kehre zu diesem Beitrag zurück, nachdem das F5-Update eine Weile in der Produktion ausgeführt wurde" betrifft, obwohl ich nicht mehr mit dieser speziellen Webanwendung arbeite, war unser Ziel, sowohl das durchschnittliche page load () -Ereignis als auch die durchschnittliche time to -Ereignis zu erreichen, erfolgreich Interaktiv (TTI) unter 2 Sekunden, und diese Reduzierung des Nutzlastaufwands war ein kleiner Teil davon. Das Reduzieren der Anzahl von HTTP-Traffic-Aufrufen, das Erweitern des Browser-Caches, das Optimieren des Codes und andere Best Practices für die Webleistung haben dazu beigetragen.
Utt73

Antworten:


3

Sie sprechen von den Vorteilen für Ihre Bandbreitenkosten, vergleichen aber auch die Leistung des Seitenladens in einem Browser. Das sind zwei verschiedene Dinge.

Jedes Mal, wenn Sie eine Anfrage gzipen, muss etwas die Komprimierung (in Ihrem Fall das F5) durchführen und der Client (oder technisch die Proxies) muss die Dekomprimierung durchführen. Dies kann zu einer höheren Latenz Ihrer Anfrage führen, je nachdem, wie leistungsfähig die Hardware auf beiden Seiten ist.

Die "Mindestgröße für gzip" basiert auf der Zeit, die zum Komprimieren / Dekomprimieren dieser kleinen Daten benötigt wird, die aus Sicht des Webbrowsers nicht hilfreich sind. Wenn Sie lediglich von Bandbreiteneinsparungen sprechen, setzen Sie Ihr Minimum so niedrig, wie Sie möchten, und achten Sie dabei darauf, dass Sie Ihren Endbenutzern möglicherweise keine Leistungsverbesserungen bieten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.