Auteur Sujet: Test de débit et de neutralité de l'Internet  (Lu 140485 fois)

0 Membres et 1 Invité sur ce sujet

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #180 le: 05 mars 2016 à 20:00:33 »
si tout est ok , je commit sur la branche principale.

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 237
  • Chambly (60)
Test de débit et de neutralité de l'Internet
« Réponse #181 le: 05 mars 2016 à 22:09:42 »
si tout est ok , je commit sur la branche principale.
Pour moi, ça ne fonctionne pas avec un fichier ou une url en argument (mais ça fonctionne via stdin).
"error getting http://raw.githubusercontent.com/kgersen/neutrality-test/remotetests/def.txt at ./neutrality-test.pl line 115."

Sinon, est-ce que le timeout spécifié en ligne de commande ne devrait pas être prioritaire sur celui du fichier de tests ?

Et, en toute rigueur, le "KB" de la fonction scaleIt devrait être "kB", puisqu'on parle en SI.

vivien

  • Administrateur
  • *
  • Messages: 47 270
    • Twitter LaFibre.info
Test de débit et de neutralité de l'Internet
« Réponse #182 le: 05 mars 2016 à 22:24:50 »
Sinon, est-ce que le timeout spécifié en ligne de commande ne devrait pas être prioritaire sur celui du fichier de tests ?

Bonne idée.

Tout semble ok

Test réalisé en wifi, sur une box SFR 30/1 :

$ perl neutrality-test.pl https://iperf.fr/neutrality-test/neutrality-test-default.php
Running on linux - 3.13.0-79-generic - x86_64-linux-gnu-thread-multi
Started at: Sat Mar  5 22:17:29 2016
Network neutrality test - Server localization: France - Hosting by Bouygues Telecom
IPv4 download tests
.zip IPv4 http  80   :   18.54 Mb/s (DNS:28ms SYN:18ms GET:27ms Down:7911ms 18.33 MB T)
.jpg IPv4 http  80   :   20.93 Mb/s (DNS:61ms SYN:13ms GET:18ms Down:7816ms 20.44 MB T)
.mp4 IPv4 http  80   :   13.25 Mb/s (DNS:253ms SYN:284ms GET:17ms Down:7981ms 13.22 MB T)
.pdf IPv4 http  80   :   22.95 Mb/s (DNS:28ms SYN:13ms GET:14ms Down:7985ms 22.90 MB T)
.zip IPv4 https 443  :   16.74 Mb/s (DNS:28ms SYN:23ms GET:224ms Down:7765ms 16.25 MB T)
.jpg IPv4 https 443  :   17.83 Mb/s (DNS:28ms SYN:12ms GET:199ms Down:7776ms 17.33 MB T)
.zip IPv4 http  554  :   22.39 Mb/s (DNS:28ms SYN:19ms GET:15ms Down:7958ms 22.28 MB T)
.jpg IPv4 http  554  :   12.22 Mb/s (DNS:61ms SYN:20ms GET:18ms Down:7981ms 12.19 MB T)
.mp4 IPv4 http  554  :   21.87 Mb/s (DNS:125ms SYN:169ms GET:21ms Down:7977ms 21.81 MB T)
.zip IPv4 https 993  :   18.26 Mb/s (DNS:28ms SYN:14ms GET:182ms Down:7796ms 17.79 MB T)
.jpg IPv4 https 993  :   10.95 Mb/s (DNS:28ms SYN:13ms GET:344ms Down:7650ms 10.47 MB T)
.zip IPv4 https 1194 :   17.13 Mb/s (DNS:61ms SYN:94ms GET:682ms Down:7314ms 15.66 MB T)
.jpg IPv4 https 1194 :   19.72 Mb/s (DNS:509ms SYN:37ms GET:375ms Down:7589ms 18.71 MB T)
.zip IPv4 http  6881 :   18.83 Mb/s (DNS:28ms SYN:13ms GET:19ms Down:7980ms 18.78 MB T)
.jpg IPv4 http  6881 :   23.41 Mb/s (DNS:28ms SYN:12ms GET:12ms Down:7986ms 23.37 MB T)
.zip IPv4 http  8080 :   21.59 Mb/s (DNS:60ms SYN:12ms GET:14ms Down:7984ms 21.54 MB T)
.jpg IPv4 http  8080 :    6.52 Mb/s (DNS:125ms SYN:111ms GET:97ms Down:7688ms 6.26 MB T)
.mp4 IPv4 http  8080 :    8.84 Mb/s (DNS:253ms SYN:124ms GET:59ms Down:7939ms 8.77 MB T)
.zip IPv4 ftp   21   :   13.37 Mb/s (DNS:60ms SYN:27ms GET:1226ms Down:6772ms 11.32 MB T)
.jpg IPv4 ftp   21   :   19.42 Mb/s (DNS:60ms SYN:21ms GET:182ms Down:7814ms 18.97 MB T)
IPv4 upload tests
     IPv4 http  80   :    1.04 Mb/s (DNS:60ms SYN:19ms PUT:20ms Up:7974ms 1.03 MB T)
     IPv4 https 443  :    0.90 Mb/s (DNS:509ms SYN:19ms PUT:445ms Up:7417ms 835.38 KB T)
     IPv4 http  554  :    1.00 Mb/s (DNS:253ms SYN:243ms PUT:105ms Up:7765ms 966.42 KB T)
     IPv4 https 1194 :    0.53 Mb/s (DNS:253ms SYN:210ms PUT:271ms Up:7709ms 507.78 KB T)
     IPv4 http  6881 :    0.19 Mb/s (DNS:125ms SYN:38ms PUT:181ms Up:7598ms 180.18 KB T)
     IPv4 http  8080 :    0.35 Mb/s (DNS:253ms SYN:1126ms PUT:60ms Up:7578ms 327.60 KB T)
.zip IPv4 ftp   21   :    0.47 Mb/s (DNS:1511ms SYN:222ms PUT:704ms Up:7237ms 425.98 KB T)
Ended at: Sat Mar  5 22:21:05 2016

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #183 le: 06 mars 2016 à 00:45:12 »
Pour moi, ça ne fonctionne pas avec un fichier ou une url en argument (mais ça fonctionne via stdin).
"error getting http://raw.githubusercontent.com/kgersen/neutrality-test/remotetests/def.txt at ./neutrality-test.pl line 115."


un fichier en argument c'est normal que ca ne marche pas, il faut un url (toutefois "file:///<chemin absolu du fichier>" marche peut-etre).
sur quel environnent ca ne marche pas?
quelle version de Perl (perl -version).

j'utilise 'get' de LWP::Simple pour télécharger le ficher.

tu peux tester avec:
perl -MLWP::Simple -e "print ' rc=' , getprint 'https://ipv4.lafibre.info/ip.php', \"\n\" " ca doit afficher ton IPv4 et le return code du getprint.

Sinon, est-ce que le timeout spécifié en ligne de commande ne devrait pas être prioritaire sur celui du fichier de tests ?

oui c'est plus utile mais ca voudra dire d'ignorer tout les 'TIME <value>' dans le fichier de tests (rien n’empêche d'en utiliser plusieurs).

Et, en toute rigueur, le "KB" de la fonction scaleIt devrait être "kB", puisqu'on parle en SI.

ok

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #184 le: 06 mars 2016 à 00:45:57 »
version 1.1.5:
    - the timeout option now overides TIME commands in test file
    - version option added (-v ou -version)
    - some typos


hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 237
  • Chambly (60)
Test de débit et de neutralité de l'Internet
« Réponse #185 le: 06 mars 2016 à 01:14:52 »
sur quel environnent ca ne marche pas?
Fedora
Le support https de LWP::Simple est à part, dans un paquet perl-LWP-Protocol-https.
Je t'ai créé une pull request pour remplacer ça par curl, c'est plus simple que de faire des tests pour suggérer à l'utilisateur d'installer le paquet qui manque.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #186 le: 06 mars 2016 à 01:17:29 »
ah bien vu. je prend.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #187 le: 06 mars 2016 à 01:50:32 »
La v1.1.5 est maintenant 'released' dans la branche principale.

Le binaire Windows est a venir (j'ai cru voir un souci de 'process curl fantomes' quand y'a une erreur ou qu'on ctrl-c les tests).

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #188 le: 06 mars 2016 à 19:40:53 »
Je t'ai créé une pull request pour remplacer ça par curl, c'est plus simple que de faire des tests pour suggérer à l'utilisateur d'installer le paquet qui manque.
y'avait un bug (les simple quote). j'ai corrigé.
y'a aussi un probleme de certifs avec les urls de Vivien donc j'ai rajouté l'option -k


kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 096
  • Paris (75)
Test de débit et de neutralité de l'Internet
« Réponse #189 le: 06 mars 2016 à 20:13:34 »
Génération du binaire pour Windows:

Les url en "dur" à  mettre dans le binaire unique Windows sont donc:

pour le script: https://testdebit.info/neutralite/neutrality-test.pl
pour le fichier de tests: https://iperf.fr/neutrality-test/neutrality-test-default.php

Pour éviter les aller-retour et ne plus dépendre de moi, voici la procédure pour générer le binaire unique pour Windows:

A. installer Perl et PP sur Windows - a ne faire qu'une fois dans la machine de dev

 A1. Installer Strawberry Perl for windows : http://strawberryperl.com/ (v 32bit ou 64bit). choisir et noter l'emplacement d'installation.
 A2. lancer "CPAN Client" situer dans "Démarrer/Programmes/Strawberry Perl"
 A3. dans la console qui apparait, taper:

      get pp
      install pp

fin d'installation de l'utilitaire. L'installation prend beaucoup de temps: ca télécharge plein de choses et compile le tout.Des fenêtres de tests vont apparaître, c'est normal, ne pas interférer.

B. generer un .exe unique
il suffit d'executer la commande:

c:\strawberry\perl\site\bin\pp.bat -o monbinaire.exe -l <chemin vers curl.exe> -e "command perl"
Le chemin "c:\strawberry\perl\site\bin\pp.bat" peut varier en fonction du choix fait en A1.

pour générer un binaire qui lance le script et les tests de Vivien et attend l'appuie d'une touche:
c:\Strawberry\perl\site\bin\pp.bat -l curl.exe -o neutrality-test.exe -e "system('curl -s -k https://testdebit.info/neutralite/neutrality-test.pl | perl - https://iperf.fr/neutrality-test/neutrality-test-default.php'); print 'press the Enter key'; <STDIN>;"

Si curl.exe n'est pas le dossier courant , adapter le chemin dans l'option -l. Bien prendre le .exe 32 bit ou 64 bit de curl qui correspond a la version de Perl.

Le résultat sera le fichier "neutrality-test.exe" (ou n'importe quel nom situé après l'option -o).

si on veut prendre le script depuis github (ou ailleurs):

c:\Strawberry\perl\site\bin\pp.bat -l curl.exe -o neutrality-test.exe -e "system('curl -s -k https://raw.githubusercontent.com/kgersen/neutrality-test/master/neutrality-test.pl | perl - https://iperf.fr/neutrality-test/neutrality-test-default.php')" ...

Si un test affiche l'erreur rc=60 c'est probablement un probleme de certificats. Ajouter l'option -k (ou --insecure) a la fin de la ligne du test.


On peut imager d'autre cas, notamment générer un .exe qui contient le script pour l'utiliser en ligne de commande.


documentation pour Linux & MacOS
Suivant les distros de Linux et les versions de MacOS: installer curl & perl s'ils ne sont déjà installés.

lancement du test de Vivien:
curl -s -k https://testdebit.info/neutralite/neutrality-test.pl | perl - [options] https://iperf.fr/neutrality-test/neutrality-test-default.php
Installer le script localement:
curl -s -k https://testdebit.info/neutralite/neutrality-test.pl > neutrality-test.pl

puis
perl neutrality-test.pl [options] url_des_tests

ou
perl neutrality-test.pl [options] < fichier_des_tests

ou
echo "<test>" | perl neutrality-test.pl [options]
par exemple:
echo GET 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.zip | perl neutrality-test.pl -t 4
va télécharger pendant 4 secondes un fichier  de 5Go.

en option :
chmod +x neutrality-test.plpuis utiliser "./neutrality-test.pl" au lieu de "perl neutrality-test.pl"
« Modifié: 22 mars 2016 à 02:04:37 par kgersen »

Bensay

  • Technicien Orange ADSL / FTTH / MIC
  • Abonné Orange Fibre
  • *
  • Messages: 686
  • Val D'oise
Test de débit et de neutralité de l'Internet
« Réponse #190 le: 06 mars 2016 à 20:40:58 »
Depuis le début on ne parle que de fichier de 1000Mo, mais toutes les tailles sont disponibles dans la liste ci-dessous :
1ko
2ko
5ko
10ko
20ko
50ko
100ko
200ko
500ko
1Mo
2Mo
5Mo
10Mo
20Mo
30Mo
50Mo
100Mo
200Mo
500Mo
1000Mo
5000Mo


Bonsoir Vivien,

Possibilité éventuellement d'avoir un poil plus gros ?

ça commence à faire juste sur du Gigabit Eth.

Un GUI (type Smokeping via rrd) serait grandement apprécié pour comparer ces valeurs dans le temps.

Cdt

Bensay

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 237
  • Chambly (60)
Test de débit et de neutralité de l'Internet
« Réponse #191 le: 06 mars 2016 à 22:32:03 »
y'avait un bug (les simple quote). j'ai corrigé.
y'a aussi un probleme de certifs avec les urls de Vivien donc j'ai rajouté l'option -k
Quel est le problème avec les simple quote ? J'ai mis ça pour être sûr que le shell ne touche pas à l'url (par exemple s'il y a un "?" dedans).

Il n'y a pas de problème de certificats, ça fonctionne sous Linux.
En revanche le binaire curl pour Windows ne semble pas être capable d'utiliser les certificats système, donc il faut le distribuer avec un curl-ca-bundle.crt.