"Help, mijn website kan de groeiende bezoekersaantallen niet meer aan!"

Heb je je weleens afgevraagd hoe het komt dat het verkeer ’s ochtends en in de namiddag helemaal vastloopt? Ja, dat is logisch: iedereen gaat ’s ochtends tegelijk naar het werk, en ’s middags weer terug naar huis. Als het verkeer over de hele dag verspreid zou worden, zou er geen spits zijn. Er zouden over de hele dag evenveel mensen op de weg zijn, maar er zou geen spits ontstaan. Ditzelfde principe geldt ook voor je website. De reden dat websites soms foutmeldingen geven of ineens niet meer bereikbaar zijn, is dat ze teveel webverkeer binnenkrijgen. De meeste websites kunnen prima tienduizend bezoekers per maand aan, maar als al die bezoekers TEGELIJK de site zouden bezoeken, gaat het mis. Dit komt voor bij websites en webwinkels die snel groeien. Ook in de aanloop naar de feestdagen, wanneer veel mensen online shoppen, komt het vaak voor. Gelukkig kan dit probleem vrij eenvoudig verholpen worden. In dit artikel bespreken we wat we kunnen doen om ervoor te zorgen dat je website dat groeiende webverkeer (of die tijdelijke piek in je bezoekersaantallen) zonder moeite aankan.

Wat je moet weten over bottlenecks

Een bottleneck is een algemene term voor een systeem dat wordt beperkt of vertraagd als gevolg van beperkte netwerkbronnen of componenten. Er ontstaat een bottleneck in een netwerk wanneer te veel gebruikers proberen om tot dezelfde site toegang te krijgen. Vergelijk het maar met een vierbaans snelweg die door een wegafzetting ineens verandert in een eenbaanssnelweg. Alle auto’s kunnen zonder problemen langs de wegafzetting rijden, tenzij ze allemaal tegelijk gaan; dan ontstaat er een opstopping. Er kunnen verschillende bottlenecks zijn die je website kunnen vertragen of laten ‘crashen.’ Door deze bottlenecks te identificeren en op te lossen, kun je vaak al een heleboel problemen voorkomen. 

#1. Optimaliseer je JavaScript

Sommige websites hebben simpelweg te veel widgets, advertenties en analytics tools. Like dit, deel dat, koop dit, tweet erover, en track alles twee keer. Dit zijn allemaal elementen van een succesvolle website – tot op een bepaalde hoogte. Want al die dingen zorgen voor een hoop JavaScript. Te veel scriptjes, en de hele brug stort in elkaar, zeker als ze niet asynchroon worden toegepast. Het optimaliseren van je JavaScript kan vaak al een hoop schelen.

#2. Comprimeer je bestanden

Als er teveel gecomprimeerd moet worden, kan dit ook een bottleneck creëren. Alle elementen op je website die gecomprimeerd kunnen worden voor ze naar de cliënt verstuurd worden, moeten gecomprimeerd worden – zeker als het om afbeeldingen gaat. De meeste afbeeldingen kunnen 10% kleiner worden gemaakt zonder zichtbaar kwaliteitsverlies. 

#3. Investeer in goede hosting

Verouderde versies van server-side software zijn niet altijd even goed geoptimaliseerd voor het moderne webverkeer. Zo zijn IIS en Apache servers bijvoorbeeld minder ‘schaalbaar’ dan Nginx en lighttpd servers. Het kan heel goed zijn dat een software update al je problemen al oplost! Maak je gebruik van een gedeelde hosting omgeving? Dan moet je er rekening mee houden dat de prestaties van je website worden beïnvloed door de prestaties van alle andere websites die in die omgeving worden gehost. Het kan soms goed zijn om je site uit die gedeelde omgeving weg te halen – weg van de negatieve effecten die slecht gecodeerde websites op jouw website hebben.

#4. Bekijk waar je load balancers kunt toepassen

Load balancing is een techniek die wordt toegepast om de ‘lading’ werk die komt kijken bij veel webverkeer, te verdelen over meerdere processen, harde schijven en andere hulpbronnen. Dit kan bijvoorbeeld door een virtuele server te creëren. Die virtuele server wordt dan verbonden met de fysieke servers, en zorgt dat alle verzoeken gelijkmatig over de beschikbare servers verdeeld worden. 

#5. Gebruik een CDN 

Iedere keer dat iemand je website bezoekt, wordt er een verzoek naar de server gestuurd. De server verstuurt op zijn beurt alle data die nodig is om je website in de browser van de betreffende bezoeker weer te geven. Maar als je gebruik maakt van een CDN (Content Delivery Network), dan laadt je website niet vanaf één server, maar vanaf twee of meer servers. Je website wordt omgezet in statische content en van de server gehaald die zich het dichtst bij de bezoeker bevindt. Op die manier worden de servers aanzienlijk ontlast. Het gebruiken van een CDN heeft overigens nog meer voordelen: een CDN zal altijd de snelste weg naar de computer van de gebruiker kiezen, en dat zorgt ervoor dat je website veel sneller kan worden weergegeven. Dat zorgt niet alleen voor een betere gebruikerservaring, maar is ook gunstig voor je SEO; laadtijden zijn tenslotte een belangrijke ranking factor!

#6. Kies voor Cloudflare

Cloudflare fungeert in feite als een vervanger voor je DNS-server. Websites die van Cloudflare gebruik maken zijn niet alleen sneller en veiliger, maar gebruiken ook zo’n 60% minder bandbreedte. Je webpagina’s worden geoptimaliseerd, waardoor er minder http-request gemaakt hoeven te worden. De servers worden aanzienlijk minder belast, waardoor er meer ruimte is voor webverkeer. Cloudflare biedt tevens een ‘Always Online’ feature. Always Online cached een statische versie van je webpagina’s voor het geval je server toch offline gaat. Op het moment dat je server niet beschikbaar is, zal Cloudflare een beperkte versie van je cached website aan je bezoekers verstrekken. Zo komen ze bij wijze van spreken nooit voor een dichte deur te staan.

#7. Sluit een AWS-abonnement af

AWS (Amazon Web Services) is een subdienst van Amazon.com die on-demand cloud computing platformen verstrekt. De technologie biedt in feite een virtueel cluster van computers die via het internet tot je beschikking worden gesteld. Die virtuele computers beschikken over allemaal attributen die een echte computer ook heeft, zoals bijvoorbeeld CPU’s, GPU’s, lokaal geheugen, RAM-geheugen, SSD-opslag, besturingssystemen, webservers, databases en CRM. Abonnees kunnen met een browser verbinding maken met hun AWS-systeem, zodat je je virtuele systeem kunt configureren zoals je met een echte computer zou doen. Zo’n AWS-abonnement is een uitstekende manier om je fysieke webserver te ontlasten. 

Tot slot

Zoals je ziet zijn er heel veel dingen die we kunnen doen om ervoor te zorgen dat je website of webwinkel grote bezoekersaantallen aan kan. Is je website weleens ‘down’ vanwege te veel webverkeer of wil je goed voorbereid zijn op de stormloop tijdens de feestdagen, laat je website dan analyseren op potentiële bottlenecks en win advies in over welke van de bovengenoemde methodes in jouw situatie het meest geschikt zijn.