Auteur Sujet: Iperf x64 sous Windows  (Lu 29991 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Iperf x64 sous Windows
« Réponse #24 le: 25 juillet 2015 à 14:45:01 »
Merci pour le lien.

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Iperf x64 sous Windows
« Réponse #25 le: 26 juillet 2015 à 09:08:33 »
En attendant, tu peux éventuellement faire du load balancing dns avec plusieurs IP sur le même serveur par exemple.

Je viens de réfléchir sur le balancing dns avec plusieurs IP : L’intérêt serait en cas de iPerf3 occupé, de relancer la commande pour tomber sur un autre serveur. mais "Le client conserve ensuite dans son cache DNS l'adresse IP utilisée, ce qui permet de conserver une relative stabilité dans la gestion des sessions du service." source : Wikipedia

Donc un client va rester sur le même serveur iPerf3

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Iperf x64 sous Windows
« Réponse #26 le: 26 juillet 2015 à 23:00:31 »
Merci,

Problème, pour l'idée de load balancing sur plusieurs IP, il ne semble pas possible de forcer iPerf à écouter sur une IP particulière (comme le fait Apache2), pour mettre plusieurs iPerf sur le même port, sur des IP différentes, sur le même serveur.

Cela passe forcèment par une virtualisation ou une mise en container type Docker

Ca devrait être simple a modifier le code pour forcer iperf sur une IP. On peut ouvrir un bug request dans ce sens. Voir un pull request si j'ai le temps mais pas avant fin aout pour moi donc si quelqu'un d'autre a le temps ici.

Isoler les iperf dans des containers Docker serait une bonne chose de toute façon.

Sinon en jouant avec du NAT et iptable localement sur le serveur tu devrais pouvoir 'jongler' avec plusieurs IP mais c'est compliquer à  faire.

Il y a aussi la technique du LD_PRELOAD mais je ne l'ai jamais utilisé (voir: http://daniel-lange.com/archives/53-Binding-applications-to-a-specific-IP.html ). Peut-etre d'autres techniques existent aussi pour imposer une ip a un process qui 'bind *'.

Je viens de réfléchir sur le balancing dns avec plusieurs IP : L’intérêt serait en cas de iPerf3 occupé, de relancer la commande pour tomber sur un autre serveur. mais "Le client conserve ensuite dans son cache DNS l'adresse IP utilisée, ce qui permet de conserver une relative stabilité dans la gestion des sessions du service." source : Wikipedia

Donc un client va rester sur le même serveur iPerf3

ca reste dans le cache le temps du TTL non ? si tu mets un TTL a zero ca devrait le faire (en pratique zero peut poser des problèmes donc utilise 1).

apres c'est pas forcement un probleme qu'un client reste sur le meme serveur, deja d'avoir dispatché plusieurs clients sur plusieurs serveurs permet d'augmenter la dispo du serveur.

De toute façon l'idéal est soit une file d'attente, soit un support de plusieurs clients en même temps. Sinon n'importe quel 'hacker' peut DoS le serveur en laissant tourner un test en boucle. Avec cela un timeout coté serveur s'impose aussi (genre pas plus de 1 minute par client).

Éventuellement certaines de ces fonctions pourraient être mise en oeuvre par un front-end sans changer le code actuel d'iperf.

Il est clair que le design d'un test public et d'un outil de test privé n'est pas la même chose.

Une autre approche est peut-etre ce qu'ils font avec les outils d'Internet 2. voir http://software.internet2.edu/bwctl/
Une option a été rajouté a iperf3 pour cela: l'option "-1"  qui accepte un test puis quitte. Ca permet dynamiquement de preparer des tests puis les lancer.

Tu pourrais éventuellement t'inspirer de cela en faisant un script :
- le client contact le serveur et demande un test, le serveur lance un iperf3 sur un port libre avec l'option "-1" et renvoi au client le n° de port
- le client lance un iperf3 sur le port recu
avec un truc comme wget coté client et un front-end php ou autre coté serveur pour lancer les iperf.

Paul

  • Abonné Orange Fibre
  • *
  • Messages: 4 269
  • Vannes (56)
    • Twitter
Iperf x64 sous Windows
« Réponse #27 le: 26 juillet 2015 à 23:13:29 »
Est-ce normal que l'option -r ne fonctionne pas ?

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Iperf x64 sous Windows
« Réponse #28 le: 26 juillet 2015 à 23:16:36 »
Est-ce normal que l'option -r ne fonctionne pas ?

oui elle est 'deprecated'.

il y a l'option -R a la place qui permet de changer le sens du test mais en ayant toujours le client qui ouvre la connection donc ca passe a travers un NAT par exemple, contrairement a iperf2 avec qui on devait ouvrir les ports pour le test dans l'autre sens.

en contrepartie on ne peut plus tester les 2 sens en meme temps. il faut lancer 2 fois le test, avec et sans -R.

Paul

  • Abonné Orange Fibre
  • *
  • Messages: 4 269
  • Vannes (56)
    • Twitter
Iperf x64 sous Windows
« Réponse #29 le: 26 juillet 2015 à 23:53:20 »
paul@Paulo-Asus:~$ iperf3 -c ping.online.net -i 2 -t 20 -R
iperf3: error - the server is busy running a test. try again later

QUI est encore en train d'utiliser le serveur ????!!

Nan mais bon ça fait depuis 11h que j'essaie quoi...

corrector

  • Invité
Iperf x64 sous Windows
« Réponse #30 le: 27 juillet 2015 à 03:56:29 »
Je confirme, LD_PRELOAD c'est le fun! (enfin quand ça marche, ça peut aussi donner des résultats pas évidents à débuguer)

Dji_

  • Abonné FAI autre
  • *
  • Messages: 9
  • Toulouse (et environs)
    • Liberkey
Iperf x64 sous Windows
« Réponse #31 le: 27 juillet 2015 à 10:56:36 »
Iperf3 n'est pas conçu pour avoir plusieurs clients en même temps.
Une demande avait été faite il y a 2 ans pour supporter plusieurs tests parallèle avec le même serveur.
https://code.google.com/p/iperf/issues/detail?id=130
La demande avait été rejetée, les développeurs d'iperf n'ayant aucune intention d'aller vers cette voie.
Ca c'est vraiment nul :-(

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Iperf x64 sous Windows
« Réponse #32 le: 27 juillet 2015 à 12:06:57 »
Ca c'est vraiment nul :-(

pas vraiment. C'est logique vu qui fait iperf3 et dans quel but. C'est pas fait pour faire du speedtest public mais pour "monitorer" leur réseau : http://ps-dashboard.es.net/ (menu Dashboard, puis 2eme entrée 'Throughput Testing' puis click sur un petit carré).

Son argument se tient. Pour avoir bien étudier le sujet (je suis en train d'écrire un speedtest public), l'interaction entre les clients, la charge serveur, la sécurité, etc tout cela complique énormèment la mise en oeuvre si on veut un résultat de qualité. Une approche simple, mono client comme ils ont fait, leur suffit amplement.

Apres ils parlent d'"iperf3 library" également donc on peut éventuellement construire une version serveur multi client compatible avec les clients iperf3 existants. C'est une piste.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Iperf x64 sous Windows
« Réponse #33 le: 28 juillet 2015 à 17:30:10 »
, il ne semble pas possible de forcer iPerf à écouter sur une IP particulière (comme le fait Apache2), pour mettre plusieurs iPerf sur le même port, sur des IP différentes, sur le même serveur.

L'option -B sert a ca non ?

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Iperf x64 sous Windows
« Réponse #34 le: 28 juillet 2015 à 19:34:31 »
L'option -B est uniquement pour le client, elle est dans la catégorie "CLIENT SPECIFIC OPTIONS"

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Iperf x64 sous Windows
« Réponse #35 le: 28 juillet 2015 à 20:28:50 »
L'option -B est uniquement pour le client, elle est dans la catégorie "CLIENT SPECIFIC OPTIONS"

Je la vois dans  "Server or Client"

et ca marche chez moi:

iperf3 -s -B 192.168.1.20
le serveur n'est accessible que par cette IP et uniquement celle la (meme 127.0.0.1 ne marche plus).