Test de débit VPS : mesurer la bande passante et la latence d'un serveur avec iperf3, Speedtest CLI et curl
Un vrai test de débit VPS répond à deux questions : quelle bande passante le serveur peut envoyer et recevoir, et à quelle vitesse les paquets circulent entre le serveur et vos utilisateurs. Ce guide explique comment mesurer la bande passante et la latence d'un serveur cloud ou dédié JUSTG sous Debian/Ubuntu ou CentOS/Rocky/AlmaLinux avec iperf3 dans les deux sens, Speedtest CLI et un simple téléchargement curl, puis comment interpréter les chiffres par rapport au port 500 Mbit/s courant sur les serveurs cloud JUSTG de Johannesburg, Moscou, Tokyo et Séoul.
Étape 1 : Installer iperf3 pour un test entre deux machines
iperf3 mesure le débit TCP brut entre deux hôtes que vous contrôlez, sans site web ni CDN au milieu. Il doit être installé sur le serveur JUSTG et sur la machine de test (un autre serveur ou votre PC ; iperf3 existe aussi pour Windows).
# Debian / Ubuntu
apt update && apt install -y iperf3
# CentOS / Rocky Linux / AlmaLinux
dnf install -y iperf3Étape 2 : Lancer le serveur iperf3 et tester les deux sens avec -R
Sur le serveur JUSTG, autorisez le port TCP 5201 et démarrez iperf3 en mode serveur :
# Debian / Ubuntu with UFW
ufw allow 5201/tcp
# CentOS / Rocky / AlmaLinux with firewalld (until next reload)
firewall-cmd --add-port=5201/tcp
# start the iperf3 server (Ctrl+C to stop)
iperf3 -sSur l'autre machine, lancez le client. Par défaut, le client envoie les données au serveur (un envoi, vu du client). L'option -R inverse le sens : le serveur vous envoie les données, comme lorsque vos visiteurs téléchargent pages et fichiers. -P 4 ouvre quatre flux parallèles et -t 30 fixe la durée à 30 secondes.
# upload test: your machine -> JUSTG server
iperf3 -c 203.0.113.10 -P 4 -t 30
# download test: JUSTG server -> your machine (reverse mode)
iperf3 -c 203.0.113.10 -P 4 -t 30 -RLisez les lignes [SUM] à la fin. La valeur receiver correspond au débit réel ; la colonne Retr indique les retransmissions TCP.
[SUM] 0.00-30.00 sec 1.64 GBytes 470 Mbits/sec 15 sender
[SUM] 0.00-30.03 sec 1.64 GBytes 469 Mbits/sec receiverufw delete allow 5201/tcp) pour ne pas laisser le service de test exposé sur Internet.Étape 3 : Utiliser Speedtest CLI (Ookla) ou speedtest-cli
Sans seconde machine, un serveur Speedtest public est le moyen le plus rapide. Le Speedtest CLI officiel d'Ookla s'installe depuis le dépôt d'Ookla :
# Debian / Ubuntu
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash
apt install -y speedtest
# CentOS / Rocky Linux / AlmaLinux
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | bash
dnf install -y speedtest
# run a test (nearest server), list servers, or pick one by ID
speedtest --accept-license --accept-gdpr
speedtest -L
speedtest -s 12345L'ancien outil Python speedtest-cli est une alternative. Sous Debian/Ubuntu, supprimez l'un avant d'installer l'autre, car leurs commandes portent des noms proches.
# Debian / Ubuntu
apt install -y speedtest-cli
# any distribution with Python 3
pip3 install speedtest-cli
speedtest-cli --simple
speedtest-cli --list | head -n 20
speedtest-cli --server 12345 --simpleLe résultat dépend beaucoup du serveur de test choisi : un nœud chargé ou lointain peut afficher des chiffres faibles même si votre port est sain. Essayez deux ou trois serveurs, dont un proche de vos utilisateurs.
Étape 4 : Faire un test de téléchargement avec curl
Un vrai téléchargement montre ce qu'obtient une seule connexion HTTP. Récupérez un gros fichier sur un miroir bien connecté et jetez les données :
curl -o /dev/null -w "avg speed: %{speed_download} bytes/s, total: %{time_total}s\n" \
https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz
# wget prints the speed in MB/s at the end
wget -O /dev/null https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xzcurl affiche des octets par seconde. Divisez par 1 000 000 pour obtenir des Mo/s, et multipliez les Mo/s par 8 pour obtenir des Mbit/s.
Étape 5 : Interpréter les résultats face à un port 500 Mbit/s
- Unités : 500 Mbit/s (mégabits) valent en théorie 62,5 Mo/s (mégaoctets). Compte tenu de la surcharge TCP/IP, environ 470 à 480 Mbit/s dans iperf3, ou 55 à 59 Mo/s en téléchargement, signifient que le port est saturé.
- Flux unique ou parallèles : sur les longues distances, une seule connexion TCP est bridée par la latence. Si
-P 4est bien plus rapide qu'un seul flux, le port va bien et la limite vient du temps aller-retour. - Sens : envoi et réception peuvent différer car la route n'est pas la même dans chaque sens. Testez toujours avec et sans
-R. - Latence : iperf3 ne la mesure pas ; lancez
ping -c 50vers la région de vos utilisateurs et regardez la moyenne et la gigue, pas seulement la meilleure valeur. - L'autre extrémité : votre connexion domestique, le Wi-Fi ou un serveur de test public saturé sont souvent le vrai goulot d'étranglement.
Étape 6 : Tester aux heures de pointe
Les liens internationaux sont les plus chargés le soir, heure locale des utilisateurs. Refaites les tests à ce moment-là et comparez avec une période calme. Une simple boucle enregistre plusieurs mesures :
# three tests, 10 minutes apart, saved to a log file
for i in 1 2 3; do date; speedtest-cli --simple; sleep 600; done | tee -a speedtest.logQuestions fréquentes
Speedtest affiche 200 Mbit/s sur mon VPS 500 Mbit/s. Y a-t-il un problème ?
Pas forcément. Essayez d'autres serveurs de test, utilisez iperf3 avec -P 4 vers une machine que vous contrôlez et vérifiez le sens inverse. Si plusieurs méthodes restent nettement sous la vitesse du port, contactez le support avec les résultats.
Pourquoi le téléchargement depuis la Chine est-il plus lent que depuis l'Europe ?
Une latence plus élevée et des liens transfrontaliers chargés limitent le débit d'une connexion. Comparez heures de pointe et heures creuses, et vérifiez la route avec un test MTR.
Puis-je laisser iperf3 tourner en permanence ?
Mieux vaut éviter. Lancez-le uniquement pendant les tests et refermez le port ensuite.
Si le problème persiste, ouvrez un ticket auprès du support technique JUSTG en joignant les résultats et l'heure des tests.