Hoe meet ik de (lees en schrijf) snelheid van mijn VPS? ⏱️

Wil je duidelijkheid over de prestaties van je VPS? Dan is het handig om objectief te achterhalen wat de lees en schrijf snelheid is. Om de lees of schrijf snelheid van je VPS te bepalen zijn een aantal handige (gratis) programma’s beschikbaar zoals dd, hdparm en fio.

In dit artikel leg ik uit hoe je met behulp van fio de lees en schrijfsnelheid van een VPS kan meten. Specifiek gaan we het aantal IOPS en de doorvoersnelheid meten.

FIO installeren

Linux / FreeBSD

CentOS: sudo yum install epel-release -y && sudo yum install fio
Debian en Ubuntu: sudo apt-get update && apt-get install fio
FreeBSD: sudo pkg install fio

MacOS

Om fio te kunnen gebruiken heb je Brew nodig. Maak je nog geen gebruik van Brew? Volg deze stappen om Brew op MacOS te installeren.

Zodra Brew geinstalleerd is kan je fio op de volgende manier installeren:

sudo brew install fio

Windows

Download hier de Windows installatie bestanden voor fio.


Belangrijk voor Windows testers is dat er minder ioengine’s beschikbaar zijn, pas daarom in onderstaande voorbeelden de ioengine aan naar:

--ioengine=windowsaio

FIO gebruiken om IOPS te meten


Nu FIO geïnstalleerd is kunnen we aan de slag gaan. Let er wel op dat je terminal zich in de juiste folder bevind aangezien FIO de snelheid van de harde schijf van de huidige folder test.

Lees test starten om IOPS te meten

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -filename=iotest -name=test

Schrijf test starten om IOPS te meten

fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -filename=iotest -name=test

FIO gebruiker om doorvoersnelheid te meten

Lees test starten om doorvoer leessnelheid te meten

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=60 -filename=iotest -name=test

Schrijf test starten om doorvoer schrijfsnelheid te meten

fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=60 -filename=iotest -name=test

Uitleg over de gebruikte parameters

  • direct=1: Hiermee negeren we de I/O buffer en schrijven we data direct weg
  • iodepth=128: Werkt samen met ‘direct=1’ en zorgt ervoor dat we asynchroom aan de slag gaan
  • rw=randread/write: We schrijven of lezen willekeurige data
  • ioengine=libaio: De juiste engine om asynchroom te kunnen testen. Onder Windows is dit
    --ioengine=windowsaio
  • bs=4k: De grootte van een test blok. 4k is de aangeraden blok grootte voor het testen van IOPS. Als je de doorvoersnelheid wilt testen pas je deze waarde aan naar 1024k
  • size=1G: De grootte van het test bestand.
  • numjobs=1: We simuleren hiermee 1 proces. Wil je meerdere simultane processen simuleren pas je dit aan naar bijvoorbeeld 16 om 16 verschillende test bestanden te maken.
  • runtime=60: Geeft aan hoelang (in seconden) de test moet duren.
  • filename=iotest: De naam van het test bestand
  • name=test: De vriendelijke naam van deze test

Uitleg over de uitslag van de test

In de uitslag van de lees test zie je onderstaande. IOPS=12.9k geeft het aantal IOPS weer en 52.9MB/s de doorvoersnelheid.

read: IOPS=12.9k, BW=50.5MiB/s (52.9MB/s)(508MiB/10060msec)

In de uitslag van de schrijf test zie je het onderstaande. IOPS=2946 geeft het aantal IOPS weer en 12.1MB/s de doorvoersnelheid.

write: IOPS=2946, BW=11.5MiB/s (12.1MB/s)(691MiB/60033msec); 0 zone resets

Let er op dat je de juiste test gebruikt voor het meten van IOPS of doorvoersnelheid.

Hungry for news?

Schrijf je in voor de SQR nieuwsbrief en blijf op de hoogte. Je gegevens worden gebruikt voor het verzenden van nieuws, technische updates en support artikelen.

Ingevoerde gegevens worden alleen gebruikt voor het toesturen van onze nieuwsbrieven

Nieusbrief