Gzip compression, nuttig of nutteloos?

Heb je een tutorial geschreven en wil je die delen met anderen? Of heb je een hele handige guide gevonden? Hier kan je die plaatsen.

Gzip compression, nuttig of nutteloos?

Berichtdoor AtleX » za okt 28, 2006 9:39

Inleiding

Omdat mijn site de laatste maanden steeds meer bezoekers trekt, en dus het dataverkeer de pan uitrijst, ben ik al een tijdje bezig om mijn site te optimaliseren.

Gzip compression

Om de hoeveelheid dataverkeer per pagina terug te dringen wilde ik ook gebruiken maken van gzip compression. Vroeger heb ik er al eens mee gespeeld, maar de hoge serverload icm met brakke ondersteuning door browsers zorgde ervoor dat ik er een paar jaar niet meer naar gekeken heb. Inmiddels is ondersteuning door browsers gemeengoed zodat het voor mij weer tijd was om er weer naar te kijken.

Na wat internal server error's had ik de juiste syntax voor in mijn .htaccess en kon het testen beginnen.

En levert dat nog een beetje resultaten op?

Ja, behoorlijk goede zelfs:

http://www.atlex.nl/ zonder Gzip compressie:
5.43 KB (5558 bytes)

http://www.atlex.nl/ met Gzip compressie:
2.33 KB (2387 bytes)

Een aanzienlijke winst dus, die nog wat beter wordt als ik de externe CSS bestanden in de pagina plaats tussen <style>..</style> tags. De pagina zonder compressie is dan 8933 bytes, de gecomprimeerde versie 3002. Een winst van bijna 66% dus! Alleen verlies ik daarmee mijn voordeel van caching, dus deze manier was niet blijvend. Aanvulling over compressie van externe CSS/JS bestanden

Leuk, maar hoe zit dat nou met de oudere browsers?

Goed, bijna niemand gebruikt IE van voor 4.01, waar in ieder geval ondersteuning voor gzip compressie inzit. In Mozilla zit het al vanaf het begin en Opera kan het ook al heel wat jaartjes. Browsers die het niet ondersteunen krijgen gewoon een niet gecomprimeerde pagina, wat dat betreft is er dus geen enkel bezwaar om het te gebruiken.

Geweldig! En de server?

Ik heb een kleine benchmark uitgevoerd, en de CPU load kwam ongeveer 2% hoger te liggen. Mijn site draait op dezelfde server als the-forums/devvers, dus al te erg stressen wilde ik nou ook weer niet :+.

Systeemeisen?

Jep, maar eigenlijk niets bijzonders :). Apache met mod_gzip of PHP gecompileerd met --with-zlib.

Maar hoe gebruik je het dan?

Dat is het mooie van het verhaal, het kan gewoon dmv 2 extra regeltjes PHP. Bovenaan het script voeg je het volgende toe:
[php]
ob_start("ob_gzhandler");
[/php]
En onderaan
[php]
ob_end_flush();
[/php]

Ook kan het dmv het gebruik van .htaccess
Code: Selecteer alles
php_value output_handler ob_gzhandler


That's it! Dat een website gebruik maakt van compressie is meteen duidelijk na een blik op de headers:
Date: Thu, 21 Apr 2005 16:47:54 GMT
Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7a PHP/4.3.10 mod_perl/1.29 FrontPage/5.0.2.2510
X-Powered-By: Wat server meuk, wat anders :z
Expires: Tue, 08 Jul 1986 19:30:00 +100
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Language: nl
X-Accelerated-By: AtleX.nl/optimizer
Content-Encoding: gzip
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked
Content-Type: application/xhtml+xml; charset=utf-8

200 OK


Heeft het nou alleen maar voordelen?

Nou nee, voor drukbezochte sites op bijvoorbeeld een shared hosting account is het niet aan te raden om het zomaar te gaan gebruiken. Ik kan geen harde CPU load statistieken vinden, maar een hoster is er niet bepaald blij mee als 1 klant zijn hele server flink vertraagd. Het is wel even netjes om van te voren even te vragen of het mogelijk is en of het mag.

Ook worden CSS-bestanden en images niet gecomprimeerd, een site die voor de layout volkomen afhankelijk is van afbeeldingen zal weinig winnen met het gebruik van output compression.

Nog handige linkjes?

Jazeker:
* http://www.whatsmyip.org/mod_gzip_test/ , testen of een site Gzip gebruikt, wat de grootte zonder Gzip is en wat de winst is.
* http://www.whatsmyip.org/forum/viewtopic.php?t=43 , een topic op whatsmyip over het gebruik van output compression.
* http://www.websiteoptimization.com/services/analyze/ , deze test de snelheid en grootte van een site en geeft verschillende tips over het beperken van de omvang. Het rapport van AtleX.nl vindt je hier.
* http://webreference.com/internet/softwa ... mpression/ , uitgebreid, maar enigzins verouderd, artikel over output compression.

Het artikel is in dezelfde vorm verschenen op mijn site: http://www.atlex.nl/index/gzip
Avatar gebruiker
AtleX
 
Berichten: 147
Geregistreerd: za okt 28, 2006 9:35

Keer terug naar Tutorials & Guides

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast

cron