Comment testez-vous la vitesse du réseau entre deux boîtes?

139

J'ai un réseau gigabit installé dans ma maison et quelques boîtes basées sur Ubuntu. Par curiosité, je voudrais vérifier la vitesse entre les deux boîtes. Je n'ai pas de problèmes de vitesse ou quoi que ce soit, c'est vraiment le geek en moi qui est curieux. De plus, les résultats me diront peut-être s'il y a place à l'amélioration ou si j'ai quelque chose de mal configuré.

Alors, comment testez-vous correctement la vitesse du réseau entre les boîtes Ubuntu?

    
posée Jacob Schoen 17.10.2010 - 19:04
la source

7 réponses

214

J'utilise iperf . Il s'agit d'un serveur client dans lequel vous l'exécutez en mode serveur à une extrémité et vous connectez à un autre ordinateur situé de l'autre côté du réseau.

Une des deux machines s'exécutent:

sudo apt-get install iperf

Nous allons démarrer un serveur iperf sur l’un des ordinateurs:

iperf -s

Ensuite, sur l’autre ordinateur, indiquez à iperf de se connecter en tant que client:

iperf -c <address of other computer>

Sur la machine cliente, vous verrez quelque chose comme ceci:

[email protected]:~$ iperf -c tim
------------------------------------------------------------
Client connecting to tim, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.4 port 37248 connected with 192.168.0.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.04 GBytes    893 Mbits/sec

Bien sûr, si vous exécutez un pare-feu sur le serveur, vous devrez autoriser les connexions sur le port 5001 ou modifier le port avec l’indicateur -p .

Vous pouvez faire à peu près la même chose avec le vieux nc (netcat) si vous êtes incliné de cette façon. Sur la machine serveur:

nc -vvlnp 12345 >/dev/null

Et le client peut transférer un gigaoctet de zéros à dd sur le tunnel nc .

dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345

Comme démod:

$ dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Connection to 10.10.0.2 12345 port [tcp/*] succeeded!
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.11995 s, 118 MB/s

Le timing est donné par dd mais il doit être suffisamment précis car il ne peut sortir que le plus rapidement possible. Si vous n'êtes pas satisfait de cela, vous pouvez emballer le tout dans un appel à time .

Rappelez-vous que le résultat est en méga octets , donc multipliez-le par 8 pour obtenir une vitesse de méga bits par seconde. La démo ci-dessus tourne à 944 Mbps.

    
réponse donnée Oli 17.10.2010 - 19:15
la source
19

Identique à la recommandation d'Oli pour iperf. Je veux juste ajouter plusieurs points:

  1. Il existe également des clients Windows qui permettent d'effectuer des tests plates-formes.
  2. -t <seconds> modifie la longueur du test. -P <n> modifie le nombre de connexions simultanées. Par exemple, iperf -c [target IP] -P 10 -t 30 teste 10 connexions ensemble pendant 30 secondes et fournit des résultats agrégés avec 10 vitesses de connexion distinctes.
  3. Vous n'avez pas besoin de sudo. Vous pouvez simplement télécharger le fichier binaire sur lien . Ça devrait marcher. Téléchargez-le avec wget , rendez-le exécutable avec chmod et exécutez directement le binaire. Cela fonctionne parfaitement.

J'ai trouvé que, en utilisant les paramètres par défaut, la vitesse de connexion unique fluctue considérablement. Cependant, avec 3+ connexions parallèles, les résultats sont plus cohérents sur mon commutateur de gigaoctets. (systématiquement à 910-920 Mbps)

    
réponse donnée wujj123456 14.05.2014 - 09:33
la source
6

En utilisant ce script , vous pouvez facilement tester la vitesse de connexion entre votre ordinateur et un hôte distant. Exemple d'utilisation:

$ scp-speed-test.sh [email protected]_host 80000
  • [email protected]_host est votre hôte de destination (vous devez avoir accès à ssh à cet hôte)
  • 80000 est la taille approximative du fichier de test (en kbs), qui sera reçu à l'hôte distant. Ce n'est pas un argument obligatoire.
réponse donnée VeLKerr 06.08.2015 - 21:40
la source
2

Si vous souhaitez tester votre réseau Ethernet à un niveau inférieur, vous pouvez utiliser Etherate, qui est un outil de test Ethernet CLI Linux gratuit:

lien

Le lancer sous forme d’outils comme iPerf (qui sont très bons!) fonctionne sur IP et TCP ou UDP. Etherate teste directement sur Ethernet / OSI layer 2.

    
réponse donnée jwbensley 26.03.2016 - 21:37
la source
2

Il existe également d’autres outils en ligne de commande pour l’analyse de la bande passante entre deux hôtes:

nuttcp

server$ nuttcp -S
client$ nuttcp -v -v -i1 1.1.1.1 ;# 1.1.1.1 is server's address

nepim

 server$ nepim
 client$ nepim -d -c 1.1.1.1 ;# 1.1.1.1 is server's address

goben

 server$ goben
 client$ goben -hosts 1.1.1.1 ;# 1.1.1.1 is server's address
    
réponse donnée Everton 12.02.2018 - 21:15
la source
0

Comme je l’ai indiqué dans mon commentaire, la meilleure solution est que cette solution n’est pas suffisante car le client / serveur n’est pas optimisé pour compresser chaque bit. vitesse

ma solution:

créez un disque virtuel des deux côtés (par conséquent, vous n'êtes pas limité par la vitesse de stockage et je vous suggère de les utiliser avec ramfs, pas avec tmpfs, donc ils ne seront pas échangés ... faites juste attention de ne pas laisser au moins 512M de mémoire libre pour le système, c'est OBLIGATOIRE si vous avez giga ethernet, à cette vitesse, même les SSD peuvent ralentir les choses) installer apache sur le serveur, puis créer un lien vers ramdisk, créer quelques gros fichiers sur le disque virtuel (100M-1G, vous pouvez les créer avec dd de / dev / random ou copier si vous en avez à portée de main) puis aller côté client et les télécharger (également sur le disque virtuel de ce côté) avec un programme de téléchargement avancé, j'ai utilisé lftp

Eh bien, la différence était majeure, à partir de 75 Mbps rapportés par iperf et 9,5M / s netcat

à 11,18 M / s avec ma solution:

1591129421 bytes transferred in 136 seconds (11.18M/s)
    
réponse donnée THESorcerer 27.07.2018 - 09:24
la source
-3

Il est facile de brancher votre ordinateur sur la première case, branchez l’autre dans la première case. Ensuite, à partir de votre ordinateur, cochez la première case pour enregistrer le résultat, exécutez une commande ping sur l’autre et effectuez la soustraction.

    
réponse donnée Nyamiou The Galeanthrope 17.10.2010 - 19:16
la source

Lire d'autres questions sur les étiquettes