Je bent op vakantie en je checkt je website. Hij is slow as fuck. Hoe dan? Je hebt laatst een klein fortuin uitgegeven aan een webdesigner die beloofde om een snelle website te bouwen. En op de computer in Nederland werkte ie prima. Is je website soms ook met vakantie? Wat is hier aan de hand?
In dit artikel bespreek ik twee redenen waarom je website traag lijkt vanaf je vakantieadres. Oh, en maak je maar niet druk: je duurbetaalde webdesigner is (waarschijnlijk) geen oplichter.
Traag internet
In Nederland zijn we verwend: we hebben bijna overal glasvezel of goede koperkabels. Ook de 4G- (en nu zelfs 5G-)dekking is hoog. In iedere kamer staat een WiFi-repeater en zo halen we moeiteloos snelheden tussen de 100 Mbit/s en de 1000 Mbit/s. Probeer het zelf maar eens uit met een van de vele gratis internettesten.
Menig ander land droomt van deze snelheden. In een hoop vakantielanden is het niet zo goed geregeld als in Nederland. En dan zijn er ook nog gradaties: in Europa is het internet doorgaans beter dan in Afrika of Zuid-Amerika. Dat een website traag is, hoeft dus niet per se aan de site zelf te liggen. Een langzame internetverbinding kan heel goed de oorzaak zijn.
Verre afstand tot het datacenter
Traag internet is niet de enige reden waarom het lang kan duren voor een website laadt. Wat dacht je van de afstand tussen jou en het datacenter? Als jouw website in een Nederlands datacenter staat, en je bevindt je in Tokio, dan moeten de data ruim 9000 km (18000 km voor de zogenaamde round-trip-time (RTT)[1]) afleggen. Onderweg komen de data tientallen switches en routers tegen, die de benodigde pakketjes nog meer vertragen.
Klinkt als een vermoeiend proces, en dat is het ook. Als ik vanuit Tokio een verzoek stuur naar stachredeker.nl, dan duurt het zo’n 300 milliseconden (0,3 seconden) voordat het antwoord bij mij terugkomt. Ter vergelijking: als ik in Nederland zit duurt dit een luttele 20 milliseconden. Dat is meer dan tien keer zo snel. Kortom: de afstand tot het datacenter kan een belangrijke factor spelen in de laadtijd van een website.
[1]: De round-trip-time (RTT) is de afstand van jou tot het datacenter, en weer terug. Dit is de daadwerkelijke afstand die moet worden afgelegd voordat je een site kunt bekijken. Jij stuurt een verzoek naar het datacenter (mag ik site ‘x’ zien?), en het datacenter beantwoordt dit verzoek (hier is site ‘x’).
Protip. Dit principe werkt ook de andere kant op: je site kan in Nederland traag aanvoelen, omdat deze in een datacenter in een ander land staat. Bijvoorbeeld in een land waar stroom goedkoop is (India) of waar gewoon veel datacenters zijn (Verenigde Staten). Check dus waar je data staan. Dat kan door naar je datacenter toe te fietsen, maar er zijn ook gewoon online tooltjes beschikbaar. De vuistregel is: hoe dichter bij de bezoeker, hoe beter. Het stachredeker.nl-voorbeeld hierboven laat zien dat het de moeite loont om een datacenter te zoeken dat in het land staat waar de meeste bezoekers vandaan komen. Zelfs als je werkt met een datacenter dat relatief dichtbij ligt, zoals in Polen of Frankrijk, kun je een merkbare snelheidswinst boeken door je site te verplaatsen.
Content Delivery Network (CDN)
Maar wat als je bezoekers uit meerdere landen hebt? Wat als jouw bedrijf mondiaal zaken doet? Misschien bied je wel een dienst aan voor Australische toeristen, en wil je dat jouw site zowel in Australië als in Nederland supersnel is. Wat dan?
Gelukkig ben je niet verplicht om je site in slechts één datacenter te stoppen. Je kunt bijvoorbeeld een Content Delivery Network (CDN) gebruiken. Je plaatst dan een versie van je website op een boel servers tegelijkertijd. Die servers staan wereldwijd verspreid. Slimme technologie zorgt er vervolgens voor dat bezoekers automatisch worden verbonden met het datacenter dat het dichtst bij hen in de buurt is.
Het bekendste CDN is Cloudflare. Cloudflare plaatst je site op maar liefst 300 servers. Daarnaast heeft het ingebouwde DDoS-bescherming én is er een gratis pakket beschikbaar. Een CDN is dé oplossing als je bezoekers uit verschillende landen verwacht. Het bewijs dat een CDN werkt, vind je hieronder.
Voor niets gaat de zon op
Je denkt misschien: gaaf, zo’n CDN, waar kan ik me aanmelden? Maar, helaas heeft een CDN ook nadelen. De gratis servers die Cloudflare gebruikt zijn waarschijnlijk trager dan je eigen server in Nederland. Hierdoor kan een CDN de laadsnelheid negatief beïnvloeden. En wat dacht je ervan als je een wijziging maakt aan je website? Hoe zorg je ervoor dat op alle 300 servers dezelfde versie van je site komt te staan? Dat is lang niet triviaal. Een CDN moet gemanaged worden.
Fun fact: stachredeker.nl maakt geen gebruik van een CDN, omdat de meeste bezoekers uit Nederland komen. stach.fun richt zich daarentegen op een internationaler publiek, en dus heb ik die site aangesloten op het Cloudflare-netwerk.
Conclusie
Er zijn twee redenen waarom je website trager is vanaf je vakantieadres. Ten eerste is het internet vaak langzamer in andere landen, en ten tweede bevind je je op een grotere afstand vanaf het datacenter waar je site staat. Een CDN is een effectieve methode om de grote afstand drastisch in te korten, maar dit brengt ook nadelen met zich mee. Als je vooral bezoekers uit de Benelux verwacht, ben je prima af met een datacenter in Nederland. Anders moet je misschien groter denken en een CDN kiezen.
Heb jij het idee dat je site trager is dan dat ie zou moeten zijn? Bijvoorbeeld omdat de site is ondergebracht in een datacenter in Verweggistan, of misschien wel omdat er teveel plugins draaien? Wil je wereldwijd gaan en denk je hiervoor een CDN-implementatie nodig te hebben? Neem gerust contact op, dan kijk ik graag voor je wat de mogelijkheden zijn.
Disclosure
Stach Redeker is niet verwant met genoemde merken of bedrijven in dit artikel, waaronder Cloudflare en Nu.nl.