Internet snelheidstest met Raspberry Pi

Om eenduidig de snelheid van een internetaansluiting vast te stellen zijn er verschillende meetmethoden. Eén hiervan is het gebruik van speedtest.net, een website waarmee de download- en uploadbandbreedte van een internetaansluiting kan worden gemeten.

Schermafdruk 2016-02-21 08.30.28

Deze vorm van internet snelheidsmeting is ook beschikbaar om periodiek vanaf een Raspberry Pi uit te voeren, in de vorm van speedtest-cli. Dit script heeft dezelfde functionaliteit als de interactieve meting via de website van speedtest.net, maar kan op een Raspberry Pi met bijvoorbeeld cron automatisch worden uitgevoerd. Installeer speedtest-cli als volgt:

wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod a+rx speedtest_cli.py
sudo mv speedtest_cli.py /usr/local/bin/speedtest-cli
sudo chown root:root /usr/local/bin/speedtest-cli

Je kunt nu de snelheidstest handmatig opstarten met speedtest-cli:

pi@raspberrypi:~ $ speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from KPN...
Selecting best server based on latency...
Hosted by CJ2 Hosting & Development (Groningen) [2.06 km]: 54.695 ms
Testing download speed...
Download: 20.82 Mbit/s
Testing upload speed...
Upload: 1.71 Mbit/s

Om de meetwaarden in een bestandje te bewaren heb ik het volgende shell-script geschreven:

date +"%d-%m-%Y %T" >> /home/pi/speedtest.output; ip link | grep "state UP" | awk -F ":" '{print $2}' >> /home/pi/speedtest.output; /usr/local/bin/speedtest-cli | egrep 'Download|Upload' >> /home/pi/speedtest.output;
tail -4 speedtest.output

Dit script heb ik in de cron tabel opgenomen om ieder half uur een meting uit te voeren. Ik voer de metingen zowel bedraad, direct aan het modem, als op verschillende plaatsen draadloos uit om de effecten van meervoudige wifi-toegangspunten te bepalen.

Internetbeleving upgraden

Mijn 'eindgebruikers' klagen al enkele maanden over "bedroevend langzaam internet". Zoonlief heeft last van "lag" bij het spelen van Minecraft, dochterlief haar Netflix doet het niet en mijn ega d'r vlogs komen niet snel genoeg door. En ja, zelf merk ik het ook: vooral 's avonds zijn de webpagina's niet vooruit te branden en het uploaden van bestanden, zoals foto's en PDF's duurt (letterlijk) uren.

We hebben een KPN internet-plus-bellen abonnement van 60 mbit, maar op ons adres is daar slechts een klein deel van beschikbaar:

Schermafdruk 2016-02-17 10.26.59

Als we echter meten met speedtest.nl vanaf een Mac die via wifi verbonden is met het KPN modem dan komen we op heel andere waarden:

METING DATUM UPLOAD [MBIT/S] DOWNLOAD [MBIT/S
1 10-02-2016 09:23 0,11 0,78
2 10-02-2016 10:34 0,08 2,17
3 10-02-2016 14:50 0,54 1,13

Meten bij de bron

Als eerste controleren of het binnenkomende signaal voldoende is. Hiervoor zijn twee parameters van belang: het signaalverlies Att en de signaal/ruis ratio SN. Als Att hoger is dan 45dB of SN lager dan 10dB dan is het binnenkomende signaal onvoldoende. Dit kan verbroken verbindingen of plotseling lagere internetsnelheden tot gevolg hebben. De signaalkwaliteit wordt door de router zelf weergegeven:

Schermafdruk 2016-02-15 11.11.52

Ik heb enkele dingen binnenshuis geprobeerd om de SN-waarde omhoog te krijgen.

Meting Omschrijving situatie SN [dB] Att [dB]
0 0-meting 6,0 31,9
1 1,3 meter kabel verwijderd tussen ISRA-punt en aansluitdoos 5,4 31,9
2 IS/RA-punt iets verplaatst t.o.v. waterleiding 5,2 31,9
3 Router stopcontact andere groep aangesloten 7,0 31,9
4 Nieuwe aansluitdoos en kabel tussen de aansluitdoos en de router 4,4 31,9

Hoewel de signaal/ruis ratio wat fluctueert is deze duidelijk veel te laag en zit in het gebied waar 'intermittent sync problems' optreden. Daar kan ik zelf weinig extra aan veranderen dan wat ik al heb ondernomen (nieuwe verbindingskabel, nieuwe aansluitdoos), dus KPN maar eens gebeld. Die sturen een monteur.

Ik heb ondertussen een Raspberry Pi ingericht als mobiele snelheidsmeter en deze direct aangesloten op de router:

Meting Datum Upload [mbit/s] Download [mbit/s
1 11-02-2016 16:30 0,29 13,20
2 11-02-2016 22:45 0,70 3,08
3 12-02-2016 09:30 0,96 22,23

De uitkomsten variëren nogal en wijken sterk af van de 'attainable rate' van 1,36/24,02 mbit. Hiernaast verbreekt de verbinding met de router nogal eens, dus ik wacht even met verdere metingen doen, totdat de KPN monteur is geweest om naar de storing op de lijn te kijken.

Infrastructurele aanpassingen

De KPN monteur is geweest en heeft het IS/RA punt opnieuw afgemonteerd en de 4-aderige telefoonkabel van het IS/RA punt naar het modem vervangen door een meter of vijf 'twisted pair'. Signaalmeting aan het IS/RA punt wees volgens hem "voldoende signaal" uit. Het uitvoeren van een 'speedtest' op mijn laptop gaf echter weer vergelijkbare waarden als voor de aanpassingen door de monteur, vandaar dat ook het modem is vervangen door een Experiabox V10. De (draadloze) snelheden waren toen goed: gemiddeld 15 mbit download.

De volgende dag

METING DATUM UPLOAD [MBIT/S] DOWNLOAD [MBIT/S
1 15-02-2016 20:00 1,74 9,55
2 16-02-2016 02:30 1,65 6,78
3 16-02-2016 08:30 1,79 11,29

De downloadsnelheid, gemeten met een Raspberry Pi, vanaf het modem, is weer (of nog steeds) fors lager dan wat het zou moeten zijn, maar wel een stuk hoger dan voorheen het geval was. Vooral de uploadsnelheid lijkt nu heel redelijk. Ik heb de storingspagina van KPN maar weer eens opgestart. Die gaf gelijk aan, dat er "automatisch een aanpassing zou worden gedaan, binnen 24 uur". Nou, maar even wachten dan.

Volgende dag

METING DATUM UPLOAD [MBIT/S] DOWNLOAD [MBIT/S
1 17-02-2016 07:00 1,76 20,59
2 17-02-2016 07:30 1,75 20,43
3 17-02-2016 08:00 1,74 19,12
4 17-02-2016 08:30 1,75 17,41
5 17-02-2016 09:00 1,75 20,86

De gemeten waarden direct aan het modem liggen nu dicht bij de maximum haalbare 24 mbit. In de onderstaande grafiek is de verbetering goed te zien: zat de downloadsnelheid vroeger nog tussen de 5 en 10 mbit, nu slingert het tussen de 17 en 22 mbit.

Schermafdruk 2016-02-18 08.28.02

High-end Game PC bouwen

Ik moet eraan geloven. Ik heb de afgelopen jaren mijn best gedaan om alle Windows laptops en PC's de deur uit te krijgen en prachtige, goedwerkende en snelle Mac apparatuur naar binnen te slepen, maar afgelopen weekend werd ik met de keiharde realiteit geconfronteerd: serieus gamen wil niet op een Mac. Zoonlief, al maanden in de weer om de handigste weetjes via YouTube uit z'n hoofd te leren, kreeg eindelijk zijn felbegeerde exemplaar van Ark Survival Evolved onder Steam. Een, ik moet zeggen, prachtig spel dat met fotorealistische weergave een stoere 'survivor' moet helpen om dino's te bedwingen. In een server-gebaseerde wereld die volledig door medespelers wordt bevolkt. Gemaakt met de Unreal Engine. Kortom: liep voor geen meter op de Mac mini en, daar treurde ik nog het meest om, ook niet vooruit te branden op mijn MacBook Pro Retina met GeForce GT 650M videokaart.

Screenshot Ark

Een game PC dan maar. Het is al weer een paar jaar geleden dat ik van PC's bouwen mijn hobby had en ik heb maar es de stand van zaken van het heden uitgezocht. Checklist:

  • Snelste videokaart
  • Snelste CPU
  • Bijpassend, zo compact mogelijk moederbord
  • Veel snel geheugen
  • SSD opslag
  • Mooie compacte behuizing met voldoende koelmogelijkheden
  • Voeding en koeling
  • Besturingssysteem

Snelste videokaart

Gaan we niet per sé voor de beste weergave voor 4K pixels, dan zit de Nvidia GTX 970 in het top-segment, gevolgd door de meer betaalbare AMD Radeon R9 380. Voor 4K-weergave zou de GTX 980 beter zijn. De 970-kaart met de meeste positieve reviews is de MSI GTX 970 GAMING 4G.

msi-gtx_970_gaming_4g_3-4s_flat

Overigens levert ook deze videokaart voor Ark 'slechts' een goede weergave met 30 fps in de stand 'high', voor de ultieme prestaties (60 fps in de stand 'epic') zijn er twéé van deze videokaarten nodig.

Deze videokaart heeft afmetingen 269x141x35mm. Wel iets om rekening mee te houden bij de keuze van een behuizing: vooral de lengte kan voor sommige compacte kasten misschien kritisch worden.

Snelste CPU

Op dit moment is de snelste Intel familie van CPU's de 6e-generatie Skylake serie, bestaande uit een i7 en i5 met elk 4 kernen. Het verschil tussen beide is dat de i7 8 threads gelijktijdig verwerkt, de i5 doet er 4. Voor gamen is de CPU niet gauw de bottleneck, maar de i7 (en dan specifiek de 6700K) is ontegenzeggelijk het snelst, de i5 (de 6600K) volgt als een goede tweede.

Intel Core i7-6700K and Core i5-6600K

Met een i5 of i7 is beide in Ark ongeveer 30 fps bij 'high' graphics te halen; pas met twee videokaarten is mogelijk de snelste CPU nodig. Beide CPU's vereisten een socket 1151 moederbord.

Bijpassend, zo compact mogelijk moederbord

Een socket 1151 moederbord heb je in verschillende soorten en maten. De videokaart past op alle en alle moederborden zijn voorzien van de nodigde USB, netwerk en audiovoorzieningen. De afmetingen van moederborden zijn gestandaardiseerd.

moederbord

Ik voel het meest voor een mini-ITX formaat: de videokaart past daar prima op en ook de CPU heeft alle ruimte. En met het kleine formaat kun je dan een mooie compacte PC bouwen. Echter, er zitten beperkingen aan dit type moederbord: er is maar één slot voor een videokaart. En da's jammer, ik voorzie de behoefte om er termijn een tweede videokaart bij te prikken. De beste mini-ITX is de ASROCK Z170 GAMING-ITX/AC.

Veel snel geheugen

Het moederbord ondersteunt twee DDR4 geheugenmodules. 16GB is wel zo'n beetje standaard voor een gaming PC (en voor eigenlijk iedere moderne computer). DDR4 geheugen komt met de fantasienamen die je bij game PC's verwacht: 'HyperX Fury', 'Ballistix Sport' en 'Vengeance'. Ik zie veel gamers gebruik maken van een setje van Kingston, de Kingston HyperX Fury HX421C14FBK2/16. Twee modules van elk 8GB.

kingston_hyperx_fury_ddr4

SSD opslag

Een SSD ('solid state drive') had ik ook al in iedere Mac die we in huis hebben gehaald: die zijn zoveel sneller dan een HDD dat er geen discussie mogelijk is of er wel of geen SSD in de game PC moet. De beste lijkt de Samsung 850 EVO. Meer dan zeg 250 GB hoeft er niet in: we slaan tegenwoordig alleen het OS en programma's op de lokale 'schijf' op.

Mooie compacte behuizing met voldoende koelmogelijkheden

De behuizing mag voor mij wel zo compact mogelijk zijn, zolang alle onderdelen er maar inpassen en er voldoende koeling mogelijk is. Er zijn voldoende opties, dit zijn mijn favorieten:

  • Fractal Design Node 304; een behuizing van 25x21x37cm, verkrijgbaar in wit en zwart. Lang genoeg voor een grote videokaart en groot genoeg voor het moederbord, een grote voeding, SSD en een grote CPU-koeler
  • Cooler Master Elite 130: afmetingen 24x21x40cm en een maximale videokaartlengte van 34,3mm

fractal

Voeding en koeling

De gebruikte onderdelen nemen allemaal stroom op en stoken het meeste daarvan in warmte op. Wat gebruiken de onderdelen zoal (maximaal)? Een kleine 300 watt tesamen. Laten we zeggen dat er minimaal 500 watt nodig is.

  • Intel i7 6700K: 130 watt
  • MSI GTX 970: 145 watt
  • ASROCK Z170 GAMING-ITX/AC:
  • Kingston geheugen: da's volledig mistig. 'Very power efficient'
  • SSD: 3,5 watt

Een Corsair Builder CX500 Bronze niet-modulaire ATX voeding van 500 watt (150x86x140 mm) zou heel goed kunnen voldoen. Voor de Cooler Master Elite 130 maken de afmetingen van de voeding niets uit; voor de Fractal Design Node 304 is dat wel van belang. De lengte van de voeding en de voedingskabels kunnen gemakkelijk conflicteren met de langere videokaarten. In dit YouTube filmpje is te echter zien dat een Corsair CX430 samen met een Sapphire Radeon HD4870 videokaart past. De CX430 heeft afmetingen 150x86x140 mm, de HD4870 heeft afmetingen 266x112x34 mm: dat komt aardig overeen met de CX500 en GTX 970 respectievelijk.

Voor wat betreft de koeling van de CPU: daar is vooral rekening te houden met het afgegeven vermogen, de maximum temperatuur en de afmetingen. De i7 verstookt 130 watt, de temperatuur zou niet boven de graad of 70 moeten komen en de mogelijke afmetingen in een compacte behuizing zijn beperkt. In het geval van de Fractal Design Node 304 is er boven de CPU genoeg ruimte; bij de Cooler Master Elite 130 zit de voeding boven de CPU en is de beschikbare ruimte erboven zo'n 75 mm. Daar zijn overigens best handige koeloplossingen voor, zoals de Zalman CNPS8900 Quiet van 65 mm, Scythe Kozuti van 42 mm of Cooler Master GeminII M4 van 44 mm.

Bill-of-Material

In een compromisloze samenstelling zit een Intel i5, geen i7. In de testen van AnandTech blijkt de i5 bij een snelle GPU een licht betere performance te geven dan de i7. Het prijsverschil is ongeveer 125 euro.

Omschrijving Prijs
Moederbord ASROCK Z170 GAMING-ITX/AC 199,90
Processor Intel i7 6700K met integrated graphics 375,00
Werkgeheugen 16GB Kingston HyperX Fury HX421C14FBK2/16 90,90
Opslag SSD 250GB Samsung 850 EVO 250GB 84,90
Behuizing 25x21x37cm Fractal Design Node 304 79,90
Netvoeding niet-modulair ATX 500 watt Corsair Builder CX500 Bronze 64,80
CPU koeling Zalman CNPS8900 (laag) of Cooler Master Hyper 103 EVO (hoog) 30,00
Videokaart MSI GTX 970 GAMING 4G 368,50
Totaal 1288,90

Rationale

Stel, je gebruikt een game PC voor andere toepassingen, zoals Microsoft Office of internet browsen. Werkt dat wel? Nou, dat zou zelfs heel goed moeten werken. Microsoft Office is gebaat bij veel werkgeheugen, een snelle processor en (PowerPoint animaties) een snelle videoweergave. Check, check en check. Internet browsen is gebaat bij een snelle internetverbinding en een snelle videokaart. Dat laatste zit wel snor, het eerste kan de game PC niet verhelpen.

Is het dan niet voordeliger om een PS4 of Xbox One te kopen? Die zijn voor rond de 400 euro op de markt. Tja.

Het bouwproces


Meer informatie: