
In deze blogpost reeks bespreken we hoe je de performantie van
je website kunt verbeteren
In de eerste blogpost in deze reeks krijg je een overzicht van
het belang van snelle download tijden van je webpagina's, de
vuistregels van performantie optimalisatie en bespreken we ook
enkele tools en services voor het meten van de performantie van je
website.
Waarom de performantie van je website optimaliseren?
Het optimaliseren van de performantie van je website is
hoofdzakelijk voor twee redenene van belang:
- Snellere pagina download tijden
- Beperking bandbreedte verbruik
Snellere pagina download tijden
Snellere download tijden van je webpagina's is niet enkel van
belang voor je bezoekers - waarvan we weten dat ze je website
zullen verlaten als ze te lang moeten wachten vooraleer een
webpagina gedownload is. Snelle download tijden van je webpagina's
is ook van belang voor de indexering van je webpagina's door
Google. Google maakte in 2008 officieel bekend dat het voortaan ook
de download tijden van de pagina's mee in rekening zou brengen bij
het berekenen van de kwaliteitsscore van de webpagina's die het
indexeert (lees het
officiële bericht van Google).
Beperking bandbreedte verbruik
Het beperken van het dataverkeer tussen de clients (browsers) en
je server kan de belasting op je server reduceren en je aldus geld
besparen. In volgende blogposts zullen we bijvoorbeeld zien hoe je
het aantal requests van de clients naar je server kunt
verminderen.
Vuistregels voor de performantie van je website
Er zijn drie vuistregels:
- Reduceer het aantal http requests
- Verstuur zo weinig mogelijk
- Verstuur het zo infrequent als mogelijk
Reduceer het aantal http requests
Om de performantie van je website te verbeteren moet je proberen
het aantal requests van de browser naar de server te beperken.
Technieken hiervoor is het bundelen van verschillende bestanden in
één bestand en het gebruik van sprites voor je afbeeldingen. In een
volgende blogpost in deze reeks over web performantie zullen we
dieper op deze technieken ingaan.
Verstuur zo weinig mogelijk
Technieken hiervoor zijn:
- Minificatie van je CSS Stylesheet bestanden en je Javascript
bestanden
- Configureren van http compressie op je webserver
- Optimaliseren van je afbeeldingen
In een volgende blogpost gaan we dieper in op deze
technieken.
Verstuur het zo infrequent als mogelijk
Hiervoor bestaan er hoofdzakelijk twee technieken:
- Instellen van Content Expiration headers
- Gebruik van een Content Delivery Network (CDN)
In een volgende blogpost behandelen we hoe je content expiration
headers in IIS kunt instellen om het aantal requests van browsers
naar je webserver te beperken.
We bekijken ook enkele CDN's. Dit zijn globale netwerken van
webservers die je eigen webserver ontlasten. Een ander voordeel is
dat deze servers zich geografisch gezien dichter bij je bezoekers
bevinden waardoor deze de content van je website sneller kunnen
downloaden.
Meten, meten en meten
Vooraleer je van start gaat met het optimaliseren van de
performantie van je website moet je eerste de performantie meten
voor de verbeteringen en de problemen localiseren die zorgen voor
tragere download tijden van je webpagina's.
Nadat je de problemen gelocaliseerd hebt en hiervoor de nodige
aanpassingen hebt aangebracht dien je terug de performantie te
meten en te onderzoeken of je remedies werkelijk een oplossing zijn
voor deze performantie problemen.
In het nu volgende bekijken we enkele tools waarmee je de
performantie van je website kunt meten.
Fiddler
Een van de meest gebruikte tools voor het analyseren van de
performantie van je website is Fiddler. Fiddler werd ontwikkeld
door Microsoft ingenieur Erik Lawrence en maakt het mogelijk om
alle trafiek tussen de browser en de webserver te analyseren.
Fiddler beschikt over enkele aardige features zoals de Transfer
Timeline die een visuele weergave geeft van alle requests naar de
server en de tijd nodig om deze bestanden te downloaden.

Afbeelding 1: de Transfer Timeline in
Fiddler
meer informatie: www.fiddlertool.com
Network Monitor (Microsoft)
Network Monitor is een gratis tool van Microsoft. Het verschil
met Fiddler is dat Fiddler enkel de http trafiek analyseert terwijl
Network Monitor alle netwerk protocols analyseert.
Meer informatie: http://www.microsoft.com/download/en/details.aspx?id=4865#overview
Page Speed (Google)
Page Speed is een open source project voor het meten van de
performantie van je website. Het leuke aan Page Speed is dat het
aanbevelingen geeft voor het verbeteren van de performantie van je
website.

Afbeelding 2: Google Page Speed als uitbreiding
voor de Chrome browser
Page Speed is beschikbaar als een uitbreiding voor de Chrome
browser en als een online service.
Meer informatie: http://code.google.com/speed/page-speed/
LogParser (Microsoft)
LogParser is een andere Microsoft tool voor het analyseren van
je IIS log files. Je kunt hiervoor SQL query achtige instructies
invoeren en het resultaat exporteren naar .CSV, XML en vele andere
formaten.
Meer informatie: http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1976
LogParser is een tool die gebruikt wordt via de Command line. Er
bestaan ook tools met een grafische interface bovenop LogParser
zoals LogParser Lizard van Lizard
Labs (http://www.lizard-labs.net/log_parser_lizard.aspx)
Third party services
Keynote and Gomez zijn
commerciële diensten voor lange termijn performantie trends die ook
benchmarks ten opzichte van andere grote websites uitvoeren.
Keynote: http://www.keynote.com/products/web_performance/web-performance-testing.html
Gomez: http://www.gomez.com/instant-test-pro/
Samenvatting
In deze eerste blogpost in de reeks over de optimalisatie van de
performantie van je website werd een overzicht gegeven van de
vuistregels en de technieken voor het verbeteren van de
performantie.
Hierbij werd het belang van het meten benadrukt, meten zowel
voor als na het optimaliseren van de performantie.
Ten slotte werden enkele tools voor het meten van de
performantie besproken.
In de volgende blogpost in deze reeks zullen we dieper ingaan op
de performantie maatregelen die je kunt nemen op het niveau van de
webserver. Hierbij zullen we technieken behandelen zoals http
compressie, het instellen van Content Expiration headers en het
gebruik van een Content Delivery Network (CDN).