La Fibre
Télécom => Logiciels et systèmes d'exploitation => Iperf => Discussion démarrée par: le 23 juillet 2012 à 15:47:16
-
Bonjour,
je ne sais pas trop si c'est l'objet du forum mais voilà ma question : entre deux VM VirtualBox (Windows 2008R2 et Debian 6) sur un hôte Fedora 17, je ne comprends pas pourquoi si le serveur est Linux, j'obtiens bien les 1Gbps de débit, mais si j'inverse les rôles je n'obtiens plus que 380 Mbps ! J'ai mis à niveau le iperf sur Linux pour être exactement à la même version entre les deux machines mais l'écart est alors encore plus grand (310 Mbps) !
Si quelqu'un a la réponse ou ne serait-ce qu'une piste, merci d'avance !
-
Un peu de lecture :
https://lafibre.info/tester-son-debit/ping-systeme-exploitation/ (https://lafibre.info/tester-son-debit/ping-systeme-exploitation/)
En gros Windows est bien plus impacté niveau débit lorsque le ping augmente...
Bref espérons qu'il y est du mieux avec Windows 8 (ce que, je le crains, ne soit pas le cas) ou son successeur...
-
@guizmos123
Je ne vois pas le rapport.
@pmassol
Up ou down?
Quelle est la config réseau?
Les 2 sont reliés directement en Ethernet?
Il y a un routeur?
Les paramètres TCP des deux systèmes?
Peux-tu poster une capture?
-
L'hôte ne fournit que de la bande passante aux OS virtualisés ; je ne vois pas pourquoi Windows virtualisé ne serait pas impacté de la même façon qu'un Windows installé en "dur".
-
oups, en fait, je me suis trompé de sens mais le problème reste le même. La valeur qui diffère suivant le sens client-serveur est la bande passante lue après un iperf -c tout simple.
concernant la topologie, ce sont tout simplement 2 VM sur la même machine hôte reliée par le "switch" virtuel de VirtualBox. Les paramètres TCP sont ceux par défaut de Windows ou Linux (les 2 installations sont vierges).
-
Est-ce que tu as bien le même modèle de carte réseau virtuelle ?
-
Sous windows, teste iperf avec le paramètre -w 500k pour augmenter la Rwin pour voir si c'est ça qui bloque le trafic.
Une autre idée est de tester le débit via un serveur web intégré sur le Windows puis le linux.
Alloue suffisamment de ram à tes hôte pour que le fichier soit dans le cache disque afin de ne pas faire d'accès disque.
Pour télégraphier le fichier sans générer d'accès disque, utilise wget -O /dev/null http://192.168.1.50/3Gb.dat (http://192.168.1.50/3Gb.dat)
Il existe un wget pour windows si tu souhaites faire le téléchargemetn sous windows sans faire d'accès disque.
-
@thenico : même modèle c'est la Intel pro 1000MT desktop 82540EM "de base" avec VirtualBox. Sous Windows, c'est le driver intégré et sous Linux c'est le module e1000.
@vivien : le -w 500k, je le fais des 2 côtés ?
-
Je préconise de le mettre uniquement coté Windows.
Maintenant un essai en le mettant coté Windows et coté Linux ne mange pas de pain.
Sous linux j'ai remarqué plutôt une diminution de la Rwin avec ce paramètre et une augmentation coté Windows donc sur du 100% linux je déconseille de l'utiliser.
-
L'augmentation de la taille de la fenêtre augmente bien la bande passante (je dépasse les 550Mbps) mais sans atteindre les 1Gbps.
-
Après si tu peux configurer un IIS rapidement, je pense que rien ne remplace un test d'un téléchargement d'un gros fichier en RAM
Regarde ce que cela donne avec un vieux PC : Test de perf avec un Celeron 600 Mhz (https://lafibre.info/les-messages-a-lire-les-bugs-et-critiques/test-de-perf-avec-un-celeron-600-mhz/)
-
L'hôte ne fournit que de la bande passante aux OS virtualisés ; je ne vois pas pourquoi Windows virtualisé ne serait pas impacté de la même façon qu'un Windows installé en "dur".
Parce que la latence doit être très très faible?
Parce que dans cet exemple Windows n'est PAS impacté?
-
Je serais intéressé par un retour sur les optimisations TCPoffload engine présentes sur ta carte réseau virtuelle.
=> TCP offload engine - Segmentation réalisée par la carte réseau (https://lafibre.info/tutoriels/tcp-offload-engine/)
Il me faut le retour de :
$ lspci | grep Ethernet
et
$ sudo ethtool -k eth0
sur ton Debian virtualisé (apt install ethtool si ce n'est pas dispo)
-
@vivien : IIS : c'est un test de débit théorique pour préparer un TP, si un élève inverse les rôles je voudrais avoir une explication rationnelle :D
@corrector :
Parce que la latence doit être très très faible?
Pourquoi ce n'est pas symétrique ?
derniers tests réalisés : j'ai désactivé la QOS sous Windows, je me suis mis en "réseau interne" Virtualbox, j'ai installé le driver propriétaire Intel sous Windows, j'ai augmenté les tampons en émission, rien n'y fait.
Voilà pour un test bidirectionnel (.15 = Windows et .16 = Linux) :
# iperf -c 192.168.1.15 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.15, TCP port 5001
TCP window size: 55.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.16 port 55996 connected with 192.168.1.15 port 5001
[ 5] local 192.168.1.16 port 5001 connected with 192.168.1.15 port 49387
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.01 GBytes 865 Mbits/sec
[ 5] 0.0-10.6 sec 137 MBytes 109 Mbits/sec
-
@vivien
# lspci | grep Ethernet
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off
ntuple-filters: off
receive-hashing: off
-
pmassol, c'est ta carte virtuelle ou ta carte physique ?
Cela ressemble plus à une carte physique.
Un exemple avec une carte virtuelle :
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
-
non non c'est la carte virtuelle. La VM croit qu'elle dispose d'une Intel etc. "simulée" par VirtualBox. Tu peux même installer les pilotes propriétaires et la VM n'y voit que du feu...
-
Et ta carte physique est un Intel ou cela n'a rien à voir ?
C'est pratique d'émuler des cartes connues depuis plusieurs années par les systèmes d'exploitation.
-
VirtualBox présente toujours à l'OS invité les mêmes périphériques, indépendamment du matériel sur la machine hôte. Il te propose 4 ou 5 cartes réseau archistandard supportées par tous les OS, ce qui évite de chercher les bons pilotes pour la bonne version etc.