Mesurer la vitesse du disque et du réseau
Comment mesurer honnêtement le disque et le réseau sur votre palier de VPS, quels chiffres considérer comme normaux et pourquoi les premières secondes d'un test mentent toujours.
Mis à jour le 23 août 2026
La mesure est nécessaire dans deux cas : pour vérifier que la machine tient ses promesses et pour comprendre si votre application atteint une limite matérielle. L'essentiel est de mesurer correctement, sinon vous obtiendrez de beaux chiffres qui n'ont rien à voir avec la réalité.
Ce que vous devez obtenir
La vitesse du disque est limitée par le palier : écriture de 60 Mo/s par cœur, mais pas moins de 60 et pas plus de 400 Mo/s ; la lecture vaut le double de l'écriture. Au-delà de la limite soutenue, un burst trois fois supérieur est autorisé pendant 30 secondes.
| Palier | Écriture, Mo/s | Lecture, Mo/s | Burst en écriture, Mo/s |
|---|---|---|---|
| VDS-1 | 60 | 120 | 180 |
| VDS-2 | 120 | 240 | 360 |
| VDS-3 | 240 | 480 | 720 |
| VDS-4 | 360 | 720 | 1080 |
| VDS-5, VDS-6 | 400 | 800 | 1200 |
La bande passante réseau atteint 500 Mbit/s, soit environ 60 Mo/s dans des conditions idéales.
D'où l'enseignement méthodologique principal : un test court tombera dans la fenêtre de burst et affichera un résultat gonflé. Il faut mesurer plus de 30 secondes ou sur un volume qui dépasse clairement le burst.
Disque
Vérification rapide de l'écriture séquentielle :
dd if=/dev/zero of=/root/testfile bs=1M count=8192 oflag=direct status=progress
rm /root/testfile
oflag=direct contourne le cache de pages — sans lui, vous mesurez la vitesse de la mémoire. Huit gigaoctets sur VDS-1 mettent nettement plus de 30 secondes à s'écrire, le burst sera donc lissé.
Lecture avec un cache froid :
dd if=/dev/zero of=/root/testfile bs=1M count=4096 oflag=direct
sync && echo 3 > /proc/sys/vm/drop_caches
dd if=/root/testfile of=/dev/null bs=1M iflag=direct
rm /root/testfile
Un outil plus honnête est fio ; il sait faire de l'accès aléatoire, ce qui compte pour les bases de données :
apt install -y fio
fio --name=rand --rw=randwrite --bs=4k --size=2G --numjobs=1 \
--runtime=60 --time_based --direct=1 --ioengine=libaio --iodepth=32 \
--filename=/root/fiotest
rm /root/fiotest
Regardez les IOPS et la latence, pas seulement les mégaoctets : en écriture aléatoire par blocs de 4 Ko, les mégaoctets restent toujours modestes.
Réseau
apt install -y speedtest-cli && speedtest-cli --secure
curl -o /dev/null -w '%{speed_download}\n' https://speed.cloudflare.com/__down?bytes=104857600
iperf3 -c OTHER_SERVER -t 30 # if there is a second machine
Le résultat dépend de la route vers le point de mesure, testez donc depuis deux ou trois sources différentes. Le débit vers un utilisateur précis est toujours inférieur au plafond du canal — d'autres réseaux se trouvent sur le chemin.
Mesurez la latence séparément : ping -c 20 8.8.8.8 et mtr -rwc 50 8.8.8.8 montreront où les paquets se perdent.
Erreurs courantes
- Tester sans
direct.ddsansoflag=directécrit dans le cache et affiche des gigaoctets par seconde. C'est la vitesse de la mémoire. - Un volume trop petit. 1 Go sur VDS-3 tient dans le burst — vous obtiendrez un résultat gonflé.
- Mesurer sous charge. Si une base de données ou une sauvegarde tourne à ce moment-là, vous mesurez le reste. Vérifiez iostat avant de commencer.
- Oublier de supprimer le fichier de test. Quelques exécutions peuvent facilement consommer 40 Go d'espace disque sur VDS-1 ; voir Espace disque saturé.
- Mesurer sur le disque de secours. Le mode SystemRescue n'est pas fait pour les benchmarks ; son profil de performance est différent.
Si le résultat est systématiquement inférieur au tableau sur une machine au repos, joignez la sortie des commandes et contactez le support. S'il correspond exactement à la limite soutenue, vous avez atteint le plafond du palier, et seul le passage à un palier supérieur aidera.