Verlaagt hosting in Turkije de latency?
Hoe dichter een server bij de bezoeker staat, hoe lager de latency (ping) doorgaans is. De reden is dat de lichtsnelheid in glasvezel een ondergrens stelt: ruwweg 5 ms enkele reis per 1.000 km, oftewel 10 ms heen en terug. Zitten je bezoekers in Turkije, dan houdt een server in Istanbul die afstandsvertraging klein. Zitten ze in het buitenland, dan is de latency hoger.
De cijfers in dit artikel zijn theoretische minima die uit de natuurkunde komen, geen metingen. De echte waarden kun je vanaf je eigen verbinding meten met de onderstaande opdrachten.
Wat is latency en hoe verschilt het van bandbreedte?
Latency is de tijd die een pakket nodig heeft om naar de server en terug te reizen, gemeten als round-trip time (RTT). Bandbreedte is hoeveel gegevens er per seconde stromen. Denk aan een buis: latency is de lengte en bandbreedte is de breedte. Download je een groot bestand, dan telt de breedte het meest. Stuur je veel kleine verzoeken, dan telt de lengte.
Hoeveel voegt afstand toe?
Licht reist door glasvezel met ongeveer 200.000 km per seconde, ruwweg 200 km per milliseconde. Echte kabelroutes zijn langer dan een rechte lijn en elke router voegt een beetje tijd toe. Echte waarden komen dus hoger uit dan in de onderstaande tabel.
| Van Istanbul naar | Afstand (bij benadering) | Theoretisch minimum (heen en terug) |
|---|---|---|
| Ankara, Izmir | 350 km | 3,5 ms |
| Midden-Europa | 1.000-2.000 km | 10-20 ms |
| West-Europa | 2.000-3.000 km | 20-30 ms |
| De oostkust van Noord-Amerika | 7.500-9.000 km | 75-90 ms |
Waar heeft latency invloed op?
- Webpagina's. Bij een nieuwe HTTPS-verbinding komt de eerste byte na ongeveer 3 round trips aan: 1 voor TCP, 1 voor TLS 1.3 en 1 voor het verzoek en het antwoord. Met TLS 1.2 zijn het er 4. De verwerkingstijd van de server komt daar bovenop. Wordt de verbinding hergebruikt, dan blijft er maar 1 round trip over. Doet een pagina tientallen verzoeken, dan loopt de vertraging op.
- Games. Ping is de tijd die elke zet nodig heeft om de server te bereiken en terug te komen. Hoe dichter de spelers bij de server zijn, hoe soepeler de ervaring.
- SSH. Elk teken dat je typt, reist naar de server en terug naar je scherm. Bij hoge latency merk je een lichte vertraging tijdens het typen.
- Downloads en uploads. Hier bepaalt de bandbreedte, en latency komt op de tweede plaats.
Wie heeft baat bij een server in Turkije?
Zitten de meeste van je bezoekers of je team in Turkije, dan houdt een server in Istanbul de vertraging door afstand tot een minimum. Seturack heeft één locatie en dat is Istanbul. Een kortere afstand verlaagt de latency doorgaans, maar de netwerkroute hangt net zozeer af van hoe providers met elkaar verbonden zijn als van afstand. Vertrouw dus op je eigen metingen in plaats van op welke bewering dan ook.
Als je publiek in het buitenland zit
Woont je publiek in een ander land, dan stijgt de latency zoals de tabel laat zien. Dat is niet altijd een probleem. Bij een beheerpaneel, een blog of bestanden delen valt wat extra latency vaak niet op. Bij games en realtime-applicaties maakt het veel uit. Bij Seturack staat de server in Istanbul, maar je kunt overal ter wereld bestellen. Een publiek in het buitenland bedienen is mogelijk. Plan alleen met de wetenschap dat de latency stijgt zoals de tabel laat zien. Dit kun je doen:
- Gebruik een content delivery network (CDN) dat afbeeldingen, scripts en stylesheets cachet en ze vanaf een punt dicht bij de gebruiker aanbiedt. Dynamische pagina's komen nog steeds van je server.
- Zet HTTP/2 of HTTP/3 en compressie aan op de server, zodat veel verzoeken één verbinding delen.
- Beperk het aantal verzoeken per pagina en de grootte van afbeeldingen.
- Zit het grootste deel van je gebruikers in één regio, houd daar dan rekening mee bij de keuze waar de server staat.
Meet het zelf
Meet de latency vanaf je eigen verbinding naar het IP-adres van je server:
ping -c 10 SERVER_IP
Gebruik op Windows -n in plaats van -c. De gemiddelde waarde in de uitvoer is de round-trip time. Kijk niet alleen naar het gemiddelde: is het verschil tussen de waarden min, max en mdev (stddev op macOS) groot, dan is de latency instabiel (jitter). Pakketverlies verpest ook games en spraakapplicaties. Herhaal de meting op verschillende tijdstippen van de dag, want waarden kunnen op drukke uren veranderen. Om te zien waar onderweg het vertraagt en waar pakketten verloren gaan, voer je uit:
mtr -rwc 20 SERVER_IP
Op macOS moet mtr apart worden geïnstalleerd. Om te zien waar de tijd naartoe gaat bij een website, gebruik je:
curl -o /dev/null -s -w "dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} firstbyte:%{time_starttransfer} total:%{time_total}\n" https://example.com
De waarden zijn cumulatief, in seconden vanaf het begin van het verzoek. Het verschil tussen firstbyte en tls is één round trip plus de tijd die de server nodig heeft om de pagina voor te bereiden. Is dat verschil groot, dan zit het probleem niet in afstand maar in de applicatie of de database.
Is de traagheid echt latency?
Niet elke vertraging komt door afstand. Een deel van de vertraging komt van het eigen netwerk van de gebruiker (wifi, mobiele data). Op basis van je metingen kun je de oorzaken zo scheiden:
| Wat zie je? | Waarschijnlijke oorzaak | Wat je doet |
|---|---|---|
| Hoge ping, en mtr toont latency die onderweg gestaag oploopt | Afstand of de netwerkroute | Verplaats de server dichter naar je publiek, gebruik een CDN |
| Hoge ping, maar de eerste hops in mtr zijn al hoog | Je eigen lokale netwerk (wifi, mobiele data) | Probeer een bekabelde verbinding of een ander netwerk |
| Lage ping, maar een groot verschil tussen firstbyte en tls | De server is traag met het voorbereiden van de pagina | Caching, databasequery's, RAM en vCores |
| Ping en firstbyte zijn goed, maar de pagina opent laat | Paginagewicht, te veel verzoeken | Verklein afbeeldingen, beperk scripts |
Controleer bij problemen aan de serverkant ook het geheugen- en processorgebruik. Indien nodig kun je de server vanuit het paneel opschalen.
Wil je je server in Istanbul, dan reken je je prijs uit op de prijzenpagina.
Reacties0
Nog geen reacties
Deel als eerste uw gedachten.
Meld u aan of registreer u om een reactie te plaatsen.