:-[ Je me joins a Gwadagamer aussi et vous remercie de vous intéresser à notre cause....c'est une hérésie en 2015...on est aux Antilles mais on est pas des pigeons non plus !Ta phrase me fait penser à l'émission de France 4 "On n'est plus des pigeons", leurs journalistes sont très présents sur les réseaux sociaux. Peut-être pourriez-vous les contacter et voir même à 7000 km s'ils souhaitent parler de ce sujet.
Ta phrase me fait penser à l'émission de France 4 "On n'est plus des pigeons", leurs journalistes sont très présents sur les réseaux sociaux. Peut-être pourriez-vous les contacter et voir même à 7000 km s'ils souhaitent parler de ce sujet.
Vivien, j'ai un petit problème avec ton script, je le lance, je choisi la taille en Download et en Upload, j'attends, dans le gestionnaire des tâches je vois bien que le script utilise ma connexion WiFi mais il ne se passe rien après avoir téléchargé les 100 Mo (l'option que j'ai choisi)Peut être doit tu lancer l’exécutable avec des droits Administrateurs ?
J'ai laissé tourner encore 5 minutes pour être sûr et pas mieux :/
Test de débit et de neutralité de l'Internet IPv4 + IPv6
Un exemple de cela donne avec une ligne FTTH neutre : (IPv4 uniquement)
(https://lafibre.info/testdebit/curl/201511_test-neutralite_ftth_windows10.png)
Peut être doit tu lancer l’exécutable avec des droits Administrateurs ?Je vois pas de raison...
Prioriser un port TCP ou UDP a l'échelle d'un gros FAI ca ne me parait pas simple simple à faire quand meme sans parler du cout.
Je cherche a comprendre pourquoi le port 554 a un débit réduit sur le Livebox (source ici (https://lafibre.info/orange-les-news/actualites-ipv6-orange/msg279486/#msg279486))ca peut être lié a un marquage QoS des paquets ? A priori Orange limite les débit des paquets prioritaires (pour éviter qu'un petit malin balance tout en prio haute) (cf discussion sur DHCP Orange).
/sbin/iptables -t mangle -A OUTPUT -p tcp --sport 8080 -j DSCP --set-dscp 40
/sbin/ip6tables -t mangle -A OUTPUT -p tcp --sport 8080 -j DSCP --set-dscp 40
Cela ne sert à rien si aucun routeur ne s'en sert. Ne pensez pas que le marquage est conservé à l'entrée du réseau du FAI, le premier truc qu'il fait de mettre à 0 les DSCP. Tous ? non, j'ai remarqué que Adeli laissait le marquage DSCP à l'entre de son réseau. Par contre, je ne sais pas si un équipement va prioriser le trafic avec le DSCP sur le réseau du SIEA.Tous les FAI utilisent déjà les marquages DSCP pour prioriser le flux multicast, la VoIP, la VoD mais aussi le trafic DNS (vers le DNS du FAI) donc rajouter une règle pour le port 8080, c'est facile.
Marquer c'est autre chose. Je fais bien la distinction entre les 2. L'un est facile, l'autre pas en fonction du débit qui passe a l'endroit ou on fait le marquage (donc a l'endroit ou on regarde le contenu et le port).Les routeurs savent marquer les flux en fonction d'informations dans l'en-tête, tel que port source ou port destination.
Les routeurs savent marquer les flux en fonction d'informations dans l'en-tête, tel que port source ou port destination.
Vivien, j'ai un petit problème avec ton script, je le lance, je choisi la taille en Download et en Upload, j'attends, dans le gestionnaire des tâches je vois bien que le script utilise ma connexion WiFi mais il ne se passe rien après avoir téléchargé les 100 Mo (l'option que j'ai choisi)
J'ai laissé tourner encore 5 minutes pour être sûr et pas mieux :/
Pourtant mon PC dispose bien d'un port ethernet gigabit ???
De plus, le 18 janvier dernier j'ai réussi à atteindre des débits très élevés sur Speedtest https://www.speedtest.net/my-result/5007559625 (https://www.speedtest.net/my-result/5007559625)
Et un autre test à l'instant https://www.speedtest.net/my-result/5050938522 (https://www.speedtest.net/my-result/5050938522)
Pourtant mon PC dispose bien d'un port ethernet gigabit ???
Un site près de chez toiAttention, en France j'aurais tendance à conseiller un site à Paris car malheureusement très souvent pour faire un Marseille<>Marseille (par exemple) on repasse par Paris...
@Logan21 Pour le processeur, il commence a daté un peu effectivement :-[
C'est un Intel Core i7 740QM @ 1.73GHz (http://ark.intel.com/fr/products/49024/Intel-Core-i7-740QM-Processor-6M-cache-1_73-GHz (http://ark.intel.com/fr/products/49024/Intel-Core-i7-740QM-Processor-6M-cache-1_73-GHz))
@BM92 Oui j'ai bien choisi le serveur le plus proche de chez moi, c'est à dire Genève ;)
@Logan21 Pour le processeur, il commence a daté un peu effectivement :-[ C'est un Intel Core i7 740QM @ 1.73GHz (http://ark.intel.com/fr/products/49024/Intel-Core-i7-740QM-Processor-6M-cache-1_73-GHz (http://ark.intel.com/fr/products/49024/Intel-Core-i7-740QM-Processor-6M-cache-1_73-GHz))
Parce que j'ai exactement le même problème depuis un serveur NAS Synology DS214Play, c'est même pire car en download je ne dépasse jamais 15Mo/s et en uplaod 5Mo/s :'(
Pour le NAS, j'imagine que tu parles de l'interface de gestion ? Si c'est le cas, je passe par l'IP 192.168.XXX.XXXMême en local tu a le même problème en pire !!!? :o
Pour ma carte ethernet, elle possède les derniers drivers et les LEDs du port ethernet indique bien qu'elle est en gigabit (une LED vert fixe + une LED orange clignotante).Tu a quoi comme carte Ethernet, marque et type ?
Ce qui m'intrigue, c'est que les LEDs du port ethernet de mon NAS sont éteintes :oJ'ai moi aussi un serveur Synology, je regarderais cela demain
Pour le NAS, j'imagine que tu parles de l'interface de gestion ? Si c'est le cas, je passe par l'IP 192.168.XXX.XXX
Ma carte ethernet est une Intel 82577LM Gigabit Network Connection. Pour l'option "Speed & Duplex", elle est bien présente et elle est sur "Auto Negotiation"
Actuellement j'upload sur mon serveur via ip local un fichier de 20Go
Le débit en upload est 24,5Mo/s
Si la conversion est bonne cela donne 196Mbs
J'ai passé ma carte ethernet en 1.0 Gbit/s Full Duplex :)Si elle fonctionne comme cela laisse-la en 1.0 Gbit/s Full Duplex
Pour le serveur NAS, j'ai modifié les réglages comme dans ton précédent poste.As-tu accès au serveur ?
Par contre les LEDs sur le port ethernet sont toujours éteintes.
Quand tu upload, tu le fais en FTP ou bien depuis un PC vers le NAS via l'explorateur ?
De toute façon les LEDs ne servent à rien..Ben si, en cas de problème réseau avec le serveur le témoin nous donne quelques indications
Le problème que je constate c'est la différence de débit entre la théorie (1Gbit/s soit 125Mo/s) et la pratique (400Mbit/s soit 50Mo/s dans le meilleur des cas via PC).Entre le débit vendu par le FAI et la réalité il peut y avoir de grosse marge d'erreur
Avec le NAS via Download Station je ne dépasse jamais 15Mo/s soit 120Mbit/s en download et 5Mo/s soit 40Mbit/s en upload.Oui mais attention, avec Download Station tu télécharge a l'extérieure
@BM92 Regarde mon premier post en page 6 (je n'utilise pas le réseau P2P pour tester ma ligne)Je le sais bien mais tu nous dis "Avec le NAS via Download Station je ne dépasse jamais 15Mo/s soit 120Mbit/s en download et 5Mo/s soit 40Mbit/s en upload."
Pourtant quand j'effectue un speedtest depuis Firefox sur le site nPerf, les débits sont nettement meilleurs ???
(https://pic.nperf.com/r/42745663-pLeHj6kS.png)
Tests avec un windows 10:Sur le port 554, le débit est faible, mais le temps de transfert est très court aussi.
Free 4G avec partage de connexion en USB :
(http://i.imgur.com/uGjjUhP.png)
Beau bridage du port 554 :D
curl -v -o NUL http://3.testdebit.info:554/fichiers/50Mo/50Mo.zip
Sur le port 554, le débit est faible, mais le temps de transfert est très court aussi.ça coupe la connection direct
La taille du fichier a donc été modifiée, ou alors le téléchargement a été interrompu.
Pour voir ce qui se passe, tu pourrais tester avec la commande suivante :Code: [Sélectionner]curl -v -o NUL http://3.testdebit.info:554/fichiers/50Mo/50Mo.zip
C:\Users\admin\Desktop\neutra>curl -v -o NUL http://3.testdebit.info:554/fichiers/50Mo/50Mo.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 62.34.91.3...
* Connected to 3.testdebit.info (62.34.91.3) port 554 (#0)
> GET /fichiers/50Mo/50Mo.zip HTTP/1.1
> Host: 3.testdebit.info:554
> User-Agent: curl/7.45.0
> Accept: */*
>
* Recv failure: Connection was reset
* Closing connection 0
curl: (56) Recv failure: Connection was reset
Sur le port 554 on observe un bridage chez tous les FAI... Il est possible que Windows soit le problème.ha non !
Bonjour à tous,
Est-ce que vous savez si il existe un équivalent de cet outil pour mesurer la neutralité d'une connexion sous Linux ?
(dites moi si c'est HS)
Merci,
mkdir test-neutra
cd test-neutra
wget https://lafibre.info/testdebit/curl/test-neutralite.zip
unzip test-neutralite.zip
wine cmd.exe /c test-neutralite.bat
mais il faut un environnent graphique (session X11) sinon wine risque de ne pas être content.le .bat n'utilise que curl qui est dispo sous linux aussi.
au pire essai avec wine:
(pre-requis: unzip et curl)Code: [Sélectionner]mkdir test-neutra
mais il faut un environnent graphique (session X11) sinon wine risque de ne pas être content.
cd test-neutra
wget https://lafibre.info/testdebit/curl/test-neutralite.zip
unzip test-neutralite.zip
wine cmd.exe /c test-neutralite.bat
pour des Linux serveur sans X11,il faut un dosbox ou(errata: dosbox utilise X11 aussi) réécrire le .bat en bash par exemple.
$ perl neutrality-test.pl -size 200M
IPv4+TCP80 +http .zip: 922.19 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1735ms)
IPv4+TCP80 +http .jpg: 925.93 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1728ms)
IPv4+TCP80 +http .mp4: 894.85 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1788ms)
IPv4+TCP80 +http .pdf: 925.93 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1728ms)
IPv4+TCP443 +https .zip: 619.20 Mb/s (DNS:4ms SYN:3ms GET:35ms Down:2584ms)
IPv4+TCP443 +https .jpg: 618.24 Mb/s (DNS:4ms SYN:3ms GET:39ms Down:2588ms)
IPv4+TCP554 +http .zip: 45.65 Mb/s (DNS:4ms SYN:3ms GET:5ms Down:35047ms)
IPv4+TCP554 +http .jpg: 45.34 Mb/s (DNS:253ms SYN:4ms GET:3ms Down:35286ms)
IPv4+TCP554 +http .mp4: 45.41 Mb/s (DNS:125ms SYN:3ms GET:4ms Down:35232ms)
IPv4+TCP993 +https .zip: 588.88 Mb/s (DNS:125ms SYN:4ms GET:37ms Down:2717ms)
IPv4+TCP993 +https .jpg: 618.48 Mb/s (DNS:4ms SYN:3ms GET:36ms Down:2587ms)
IPv4+TCP1194 +https .zip: 618.00 Mb/s (DNS:4ms SYN:3ms GET:39ms Down:2589ms)
IPv4+TCP1194 +https .jpg: 613.97 Mb/s (DNS:4ms SYN:3ms GET:36ms Down:2606ms)
IPv4+TCP6881 +http .zip: 922.19 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1735ms)
IPv4+TCP6881 +http .jpg: 916.38 Mb/s (DNS:12ms SYN:4ms GET:3ms Down:1746ms)
IPv4+TCP8080 +http .zip: 925.93 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1728ms)
IPv4+TCP8080 +http .jpg: 925.93 Mb/s (DNS:4ms SYN:3ms GET:3ms Down:1728ms)
IPv4+TCP8080 +http .mp4: 878.16 Mb/s (DNS:4ms SYN:5ms GET:3ms Down:1822ms)
IPv6+TCP80 +http .zip: 425.08 Mb/s (DNS:12ms SYN:12ms GET:5ms Down:3764ms)
IPv6+TCP80 +http .jpg: 372.87 Mb/s (DNS:4ms SYN:5ms GET:6ms Down:4291ms)
IPv6+TCP80 +http .mp4: 430.22 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:3719ms)
IPv6+TCP443 +https .zip: 650.67 Mb/s (DNS:4ms SYN:4ms GET:42ms Down:2459ms)
IPv6+TCP554 +http .zip: 424.97 Mb/s (DNS:4ms SYN:4ms GET:4ms Down:3765ms)
IPv6+TCP1194 +https .zip: 627.45 Mb/s (DNS:4ms SYN:5ms GET:39ms Down:2550ms)
IPv6+TCP6881 +http .zip: 406.30 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:3938ms)
IPv6+TCP8080 +http .zip: 454.03 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:3524ms)
IPv4+TCP80 +http .zip: 238.13 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:6719ms)
IPv4+TCP80 +http .jpg: 238.24 Mb/s (DNS:4ms SYN:3ms POST:4ms Up:6716ms)
IPv4+TCP80 +http .mp4: 238.10 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:6720ms)
IPv4+TCP443 +https .zip: 237.00 Mb/s (DNS:4ms SYN:3ms POST:30ms Up:6751ms)
IPv4+TCP554 +http .zip: 56.38 Mb/s (DNS:12ms SYN:4ms POST:4ms Up:28379ms)
IPv4+TCP1194 +https .zip: 233.68 Mb/s (DNS:125ms SYN:3ms POST:31ms Up:6847ms)
IPv4+TCP6881 +http .zip: 238.27 Mb/s (DNS:4ms SYN:4ms POST:3ms Up:6715ms)
IPv4+TCP8080 +http .zip: 239.66 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:6676ms)
IPv6+TCP80 +http .zip: 52.82 Mb/s (DNS:29ms SYN:14ms POST:4ms Up:30293ms)
IPv6+TCP80 +http .jpg: 53.12 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:30120ms)
IPv6+TCP80 +http .zip: 79.37 Mb/s (DNS:4ms SYN:4ms POST:4ms Up:20158ms)
IPv6+TCP443 +https .zip: 51.00 Mb/s (DNS:4ms SYN:4ms POST:34ms Up:31374ms)
IPv6+TCP554 +http .zip: 77.78 Mb/s (DNS:4ms SYN:5ms POST:4ms Up:20571ms)
IPv6+TCP1194 +https .zip: 55.01 Mb/s (DNS:4ms SYN:5ms POST:35ms Up:29088ms)
IPv6+TCP6881 +http .zip: 48.27 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:33148ms)
IPv6+TCP8080 +http .zip: 59.15 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:27049ms)
removing file temp31023-200.zip
removing file temp31023-200.jpg
removing file temp31023-200.mp4
bon j'ai réécrit le .bat de Vivien en Perl (ca m'a rajeunit, ca faisait bien 15 ans que j'avais pas fait autant de Perl :)).
voila ce que ca donne sur un ubuntu 14.04 (ma connexion est en 1G/250M):Code: [Sélectionner]$ perl neutrality-test.pl -size 200M
IPv4+TCP80 +http .zip: 922.19 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1735ms)
IPv4+TCP80 +http .jpg: 925.93 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1728ms)
IPv4+TCP80 +http .mp4: 894.85 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1788ms)
IPv4+TCP80 +http .pdf: 925.93 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1728ms)
IPv4+TCP443 +https .zip: 619.20 Mb/s (DNS:4ms SYN:3ms GET:35ms Down:2584ms)
IPv4+TCP443 +https .jpg: 618.24 Mb/s (DNS:4ms SYN:3ms GET:39ms Down:2588ms)
IPv4+TCP554 +http .zip: 45.65 Mb/s (DNS:4ms SYN:3ms GET:5ms Down:35047ms)
IPv4+TCP554 +http .jpg: 45.34 Mb/s (DNS:253ms SYN:4ms GET:3ms Down:35286ms)
IPv4+TCP554 +http .mp4: 45.41 Mb/s (DNS:125ms SYN:3ms GET:4ms Down:35232ms)
IPv4+TCP993 +https .zip: 588.88 Mb/s (DNS:125ms SYN:4ms GET:37ms Down:2717ms)
IPv4+TCP993 +https .jpg: 618.48 Mb/s (DNS:4ms SYN:3ms GET:36ms Down:2587ms)
IPv4+TCP1194 +https .zip: 618.00 Mb/s (DNS:4ms SYN:3ms GET:39ms Down:2589ms)
IPv4+TCP1194 +https .jpg: 613.97 Mb/s (DNS:4ms SYN:3ms GET:36ms Down:2606ms)
IPv4+TCP6881 +http .zip: 922.19 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1735ms)
IPv4+TCP6881 +http .jpg: 916.38 Mb/s (DNS:12ms SYN:4ms GET:3ms Down:1746ms)
IPv4+TCP8080 +http .zip: 925.93 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:1728ms)
IPv4+TCP8080 +http .jpg: 925.93 Mb/s (DNS:4ms SYN:3ms GET:3ms Down:1728ms)
IPv4+TCP8080 +http .mp4: 878.16 Mb/s (DNS:4ms SYN:5ms GET:3ms Down:1822ms)
IPv6+TCP80 +http .zip: 425.08 Mb/s (DNS:12ms SYN:12ms GET:5ms Down:3764ms)
IPv6+TCP80 +http .jpg: 372.87 Mb/s (DNS:4ms SYN:5ms GET:6ms Down:4291ms)
IPv6+TCP80 +http .mp4: 430.22 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:3719ms)
IPv6+TCP443 +https .zip: 650.67 Mb/s (DNS:4ms SYN:4ms GET:42ms Down:2459ms)
IPv6+TCP554 +http .zip: 424.97 Mb/s (DNS:4ms SYN:4ms GET:4ms Down:3765ms)
IPv6+TCP1194 +https .zip: 627.45 Mb/s (DNS:4ms SYN:5ms GET:39ms Down:2550ms)
IPv6+TCP6881 +http .zip: 406.30 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:3938ms)
IPv6+TCP8080 +http .zip: 454.03 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:3524ms)
IPv4+TCP80 +http .zip: 238.13 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:6719ms)
IPv4+TCP80 +http .jpg: 238.24 Mb/s (DNS:4ms SYN:3ms POST:4ms Up:6716ms)
IPv4+TCP80 +http .mp4: 238.10 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:6720ms)
IPv4+TCP443 +https .zip: 237.00 Mb/s (DNS:4ms SYN:3ms POST:30ms Up:6751ms)
IPv4+TCP554 +http .zip: 56.38 Mb/s (DNS:12ms SYN:4ms POST:4ms Up:28379ms)
IPv4+TCP1194 +https .zip: 233.68 Mb/s (DNS:125ms SYN:3ms POST:31ms Up:6847ms)
IPv4+TCP6881 +http .zip: 238.27 Mb/s (DNS:4ms SYN:4ms POST:3ms Up:6715ms)
IPv4+TCP8080 +http .zip: 239.66 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:6676ms)
IPv6+TCP80 +http .zip: 52.82 Mb/s (DNS:29ms SYN:14ms POST:4ms Up:30293ms)
IPv6+TCP80 +http .jpg: 53.12 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:30120ms)
IPv6+TCP80 +http .zip: 79.37 Mb/s (DNS:4ms SYN:4ms POST:4ms Up:20158ms)
IPv6+TCP443 +https .zip: 51.00 Mb/s (DNS:4ms SYN:4ms POST:34ms Up:31374ms)
IPv6+TCP554 +http .zip: 77.78 Mb/s (DNS:4ms SYN:5ms POST:4ms Up:20571ms)
IPv6+TCP1194 +https .zip: 55.01 Mb/s (DNS:4ms SYN:5ms POST:35ms Up:29088ms)
IPv6+TCP6881 +http .zip: 48.27 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:33148ms)
IPv6+TCP8080 +http .zip: 59.15 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:27049ms)
removing file temp31023-200.zip
removing file temp31023-200.jpg
removing file temp31023-200.mp4
Le script n'est pas tout a fait fini mais j’arrête la pour ce soir je fatigue :)
j'ai rajouté des options et la possibilité d'entrer un test manuellement.
Le projet est sur github : https://github.com/kgersen/neutrality-test (j'ai "défrancisé", désolé mais je code tout en anglais par défaut).
Le script perl directement ici : https://raw.githubusercontent.com/kgersen/neutrality-test/master/neutrality-test.pl
Pour le moment la taille est la meme en upload et en download. cela changera.
Je pense avoir un version 1.0 d'ici demain soir.
Ce script utilise pour le moment 'en dur' le serveur 3.testdebit.info et des tailles fixes. Le but a terme est d'en faire un client pour un serveur de speedtest un peu particulier que je suis en train développer (avec quelques mois de retard...) et qui permettra de d’envoyer ou recevoir des fichiers de taille arbitraire et de contenu arbitraire tout en échantillonnant dans le temps les stats avancées de TCP. A terme aussi un client web est prévu pour faire ces tests depuis un navigateur.
perl neutrality-test.pl -size 1G
pour le moment c'est la meme taille en download et en upload mais au besoin on peut limiter le sens, voir plus apres.perl neutrality-test.pl -test "4 554 http .jpg GET" -size 100M
curl https://raw.githubusercontent.com/kgersen/neutrality-test/master/neutrality-test.pl | perl - [options]
par exemple:curl https://raw.githubusercontent.com/kgersen/neutrality-test/master/neutrality-test.pl | perl - -test "4 554 http .jpg GET" -size 100M
pour le moment c'est la meme taille en download et en upload mais au besoin on peut limiter le sens, voir plus apres.On pourrait avoir un mode qui se baserait sur une durée plutôt qu'une taille : on prend les plus gros fichiers possible, et on ajoute l'option --max-time de curl.
Les tailles valides sur le serveur de Vivien sont :
1M 2M 5M 10M 20M 50M 100M 200M 500M 1G 5G
TYPE = une extention de fichier (le serveur de Vivien supporte: .zip .jpg, .mp4, .pdf)
.7z .divx .iso .msi .raw .tar.xz .wmv
.aac .dmg .jpeg .odp .rmvb .tgz .woff2
.aif .doc .jpg .ods .rnd .txt .xls
.apk .docx .mka .odt .rpm .uu .xlsx
.asf .exe .mks .ova .sea .vivien .xvid
.au .flv .mkv .pdf .sit .vqf .xz
.avi .gif .mov .png .svg .wav .zip
.bin .gz .mp3 .ppt . swf .webm
.bz2 .hqx .mp4 .pptx .tar .webp
.deb .html .mpg .rar .tar.bz2 .wma
La durée c'est idéal, mais je n'ai pas trouvé comment faire... j'ai hésité en lançant un sleep en parallèle qui va killer le processSi on tue curl, il se donne pas les valeurs dont on se sert en sortie.
~ curl -4 -o /dev/null --max-time 5 --write-out "%{time_namelookup} %{time_connect} %{time_starttransfer} %{time_total} %{size_download}" http://1.testdebit.info/fichiers/5000Mo/5000Mo.jpg
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 4768M 0 20.2M 0 0 4976k 0 0:16:21 0:00:04 0:16:17 4975kcurl: (28) Operation timed out after 4999 milliseconds with 25501949 out of 5000000000 bytes received
0,004 0,010 0,016 4,999 25501949
Pour les tests d'upload, à la place du fichier temporaire qu'on télécharge, l'idéal serait de passer par un pipe (et '-F "filecontent=@-"'), pour ne pas être limité par le disque sur les connexions très rapides, ou quand le test est exécuté depuis un Raspberry Pi ou similaire ("disque" lent et de petite taille).
Mais ne sais pas ce que ça donnerait comme performance en utilisant la fonction rand() de perl (le /dev/urandom non seulement spécifique à Linux, mais de toute façon pas assez rapide, 25Mo/s sur mon PC par exemple).
Si on tue curl, il se donne pas les valeurs dont on se sert en sortie.J'ai loupé ca dans les nombreuses option de curl.
Mais avec --max-time, si.
Pour les tests d'upload, à la place du fichier temporaire qu'on télécharge, l'idéal serait de passer par un pipe (et '-F "filecontent=@-"'), pour ne pas être limité par le disque sur les connexions très rapidesCa aussi j'ai pas vu. Ca upload quoi ? une suite de zéro ?
y'a quelques temps, j'avais testé avec 'dd' pipé dans un curl mais ce marchait pas bien. essais voir si ca marche (ou /dev/zero avec un max time). après faut penser a Windows et MacOS aussi.Un dd pipé fonctionne, mais :
y'a libcurl en perl aussi mais je n'ai pas regarder ce qu'on pouvait faire avec.Je ne sais pas ce que ça donne pour les perfs (surtout en download).
Ca aussi j'ai pas vu. Ca upload quoi ? une suite de zéro ?Ca upload stdin. Pour une suite de zéros voir les exemples plus haut.
Ca upload stdin.donc ce que je tape au clavier, non ?
Comment créer des fichiers arbitrairement lourds pour tester son débit ?
Voici la commande, sous linux pour créer un fichier rempli de zéro, donc facilement compressible :
dd if=/dev/zero of=/tmp/1Mo.zero bs=1KB count=100000
100000+0 enregistrements lus
100000+0 enregistrements écrits
100000000 octets (100 MB) copiés, 0,911139 s, 110 MB/s
C'est un fichier de 100 Mo, pour un fichier plus gros ou plus petit, il suffit de modifier "count" qui compte le nombre de bloc de 1 Ko.
Voici la même commande, pour créer un fichier rempli de données pseudo-aléatoires donc non compressible :
dd if=/dev/urandom of=/tmp/1Mo.random bs=1KB count=100000
100000+0 enregistrements lus
100000+0 enregistrements écrits
100000000 octets (100 MB) copiés, 9,44209 s, 10,6 MB/s
donc ce que je tape au clavier, non ?si tu ne pipes rien, oui
Attention avec les données aléatoires : le débit de données aléatoire est fortement limitéC'est ce que je dis plus haut, le /dev/urandom plafonne à 25Mo/s pour moi.
$ perl neutrality-test.pl -timeout 1 -size 1000M
IPv4+TCP80 + http .zip: 826.42 Mb/s (DNS:4ms SYN:3ms GET:4ms Down:995ms:timeout)
IPv4+TCP80 + http .jpg: 890.93 Mb/s (DNS:29ms SYN:4ms GET:3ms Down:996ms:timeout)
IPv4+TCP80 + http .mp4: 815.12 Mb/s (DNS:12ms SYN:4ms GET:3ms Down:996ms:timeout)
IPv4+TCP80 + http .pdf: 859.69 Mb/s (DNS:12ms SYN:4ms GET:3ms Down:996ms:timeout)
IPv4+TCP443 + https .zip: 654.41 Mb/s (DNS:29ms SYN:5ms GET:31ms Down:968ms:timeout)
IPv4+TCP443 + https .jpg: 557.36 Mb/s (DNS:61ms SYN:3ms GET:36ms Down:963ms:timeout)
IPv4+TCP554 + http .zip: 43.25 Mb/s (DNS:12ms SYN:4ms GET:3ms Down:996ms:timeout)
IPv4+TCP554 + http .jpg: 44.04 Mb/s (DNS:12ms SYN:4ms GET:3ms Down:996ms:timeout)
IPv4+TCP554 + http .mp4: 41.93 Mb/s (DNS:28ms SYN:4ms GET:4ms Down:995ms:timeout)
IPv4+TCP993 + https .zip: 548.52 Mb/s (DNS:12ms SYN:4ms GET:36ms Down:963ms:timeout)
IPv4+TCP993 + https .jpg: 549.19 Mb/s (DNS:13ms SYN:3ms GET:41ms Down:958ms:timeout)
IPv4+TCP1194 + https .zip: 543.17 Mb/s (DNS:29ms SYN:3ms GET:34ms Down:965ms:timeout)
IPv4+TCP1194 + https .jpg: 721.58 Mb/s (DNS:12ms SYN:4ms GET:37ms Down:962ms:timeout)
IPv4+TCP6881 + http .zip: 822.12 Mb/s (DNS:12ms SYN:4ms GET:4ms Down:995ms:timeout)
IPv4+TCP6881 + http .jpg: 814.81 Mb/s (DNS:28ms SYN:4ms GET:3ms Down:996ms:timeout)
IPv4+TCP8080 + http .zip: 804.56 Mb/s (DNS:29ms SYN:3ms GET:3ms Down:996ms:timeout)
IPv4+TCP8080 + http .jpg: 803.61 Mb/s (DNS:29ms SYN:3ms GET:3ms Down:996ms:timeout)
IPv4+TCP8080 + http .mp4: 814.46 Mb/s (DNS:29ms SYN:3ms GET:4ms Down:995ms:timeout)
IPv6+TCP80 + http .zip: 176.28 Mb/s (DNS:61ms SYN:12ms GET:6ms Down:994ms:timeout)
IPv6+TCP80 + http .jpg: 194.78 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:994ms:timeout)
IPv6+TCP80 + http .mp4: 202.25 Mb/s (DNS:29ms SYN:4ms GET:5ms Down:994ms:timeout)
IPv6+TCP443 + https .zip: 619.69 Mb/s (DNS:4ms SYN:4ms GET:40ms Down:959ms:timeout)
IPv6+TCP554 + http .zip: 184.47 Mb/s (DNS:125ms SYN:4ms GET:5ms Down:995ms:timeout)
IPv6+TCP1194 + https .zip: 593.44 Mb/s (DNS:61ms SYN:4ms GET:38ms Down:961ms:timeout)
IPv6+TCP6881 + http .zip: 850.29 Mb/s (DNS:61ms SYN:4ms GET:5ms Down:994ms:timeout)
IPv6+TCP8080 + http .zip: 110.61 Mb/s (DNS:125ms SYN:4ms GET:5ms Down:995ms:timeout)
downloading temporary file temp1097-1000m.zip...done.
IPv4+TCP80 + http .zip: 208.64 Mb/s (DNS:61ms SYN:3ms POST:3ms Up:997ms:timeout)
downloading temporary file temp1097-1000m.jpg...done.
IPv4+TCP80 + http .jpg: 235.30 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:996ms:timeout)
downloading temporary file temp1097-1000m.mp4...done.
IPv4+TCP80 + http .mp4: 206.40 Mb/s (DNS:125ms SYN:4ms POST:3ms Up:997ms:timeout)
IPv4+TCP443 + https .zip: 153.06 Mb/s (DNS:4ms SYN:9ms POST:39ms Up:960ms:timeout)
IPv4+TCP554 + http .zip: 56.14 Mb/s (DNS:4ms SYN:8ms POST:9ms Up:990ms:timeout)
IPv4+TCP1194 + https .zip: 100.11 Mb/s (DNS:125ms SYN:3ms POST:41ms Up:1486ms:timeout)
IPv4+TCP6881 + http .zip: 123.36 Mb/s (DNS:4ms SYN:3ms POST:3ms Up:1223ms:timeout)
IPv4+TCP8080 + http .zip: 233.72 Mb/s (DNS:4ms SYN:4ms POST:3ms Up:996ms:timeout)
IPv6+TCP80 + http .zip: 64.81 Mb/s (DNS:4ms SYN:13ms POST:14ms Up:985ms:timeout)
IPv6+TCP80 + http .jpg: 65.01 Mb/s (DNS:4ms SYN:4ms POST:4ms Up:996ms:timeout)
IPv6+TCP80 + http .zip: 66.00 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:995ms:timeout)
IPv6+TCP443 + https .zip: 55.63 Mb/s (DNS:4ms SYN:4ms POST:33ms Up:966ms:timeout)
IPv6+TCP554 + http .zip: 81.02 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:995ms:timeout)
IPv6+TCP1194 + https .zip: 68.12 Mb/s (DNS:4ms SYN:5ms POST:33ms Up:966ms:timeout)
IPv6+TCP6881 + http .zip: 91.95 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:995ms:timeout)
IPv6+TCP8080 + http .zip: 61.26 Mb/s (DNS:4ms SYN:4ms POST:5ms Up:995ms:timeout)
Sinon, pourquoi télécharger 3 fichiers pour l'upload ?
Un seul me semble suffisant, il suffit ensuite de le renommer.
Que que soit l'extension du fichier, c'est les mêmes données aléatoires derrière. la somme du contrôle du fichier .zip est la même que celle du fichier .jpg ou .mp4
Pas de fichier de 2Go, car cela prend pas mal de place en ram (il y a un ramdisque pour mettre ces fichiers, la taille utilisée est de 6,6 Go dont 5Go pour le fichier de 5Go. Mettre un fichier de 2Go aurait fait passer la taille à 8,6Go)Un truc pour ton serveur, si tu as ce qu'il faut pour supporter le btrfs (valable pour une machine ayant /tmp en tmpfs, à ajuster sinon) :
truncate -s 5G /tmp/5G.img
mkfs.btrfs /tmp/5G.img
mount /tmp/5G.img /mnt
dd if=/dev/urandom of=/mnt/4G.dat bs=1M count=4096
cp --reflink=always /mnt/4G.dat /mnt/2G.dat
truncate -s 2G /mnt/2G.dat
Et voilà, les deux fichiers partagent leurs données, on a fait tenir "6Go" dans 4Go de RAM :DUn truc pour ton serveur, si tu as ce qu'il faut pour supporter le btrfs (valable pour une machine ayant /tmp en tmpfs, à ajuster sinon) :Code: [Sélectionner]truncate -s 5G /tmp/5G.img
Et voilà, les deux fichiers partagent leurs données, on a fait tenir "6Go" dans 4Go de RAM :D
mkfs.btrfs /tmp/5G.img
mount /tmp/5G.img /mnt
dd if=/dev/urandom of=/mnt/4G.dat bs=1M count=4096
cp --reflink=always /mnt/4G.dat /mnt/2G.dat
truncate -s 2G /mnt/2G.dat
Il y a certainement moyen d'ajuster la taille des metadata, pour réduire la taille de l'image, mais ça ne sert pas à grand chose puisque les pages non utilisées du /tmp/5G.img se sont pas allouées (le tmpfs n'alloue les pages que quand on écrit dedans).
bon il se fait tard mais apres une rude bataille avec l'antiquité qu'est PerlPourquoi Perl et pas Python d'ailleurs ?
Pourquoi Perl et pas Python d'ailleurs ?
[root@vultr ~]# curl -s https://raw.githubusercontent.com/kgersen/neutrality-test/master/neutrality-test.pl | perl
Running on linux - 2.6.32-220.17.1.el6.x86_64 - x86_64-linux-thread-multi
started at: Tue Mar 1 15:39:45 2016
IPv4 TCP 80 http .zip: 671.72 Mb/s (DNS:509ms SYN:2ms GET:3ms Down:7997ms:timeout:671464880)
IPv4 TCP 80 http .jpg: 1331.80 Mb/s (DNS:4ms SYN:3ms GET:2ms Down:7997ms:timeout:1331302557)
IPv4 TCP 80 http .mp4: 576.66 Mb/s (DNS:4ms SYN:3ms GET:3ms Down:7996ms:timeout:576367486)
IPv4 TCP 80 http .pdf: 498.52 Mb/s (DNS:4ms SYN:3ms GET:2ms Down:7997ms:timeout:498334760)
IPv4 TCP 443 https .zip: 1586.11 Mb/s (DNS:4ms SYN:2ms GET:131ms Down:7868ms:timeout:1559937024)
IPv4 TCP 443 https .jpg: 697.37 Mb/s (DNS:4ms SYN:3ms GET:117ms Down:7882ms:timeout:687079424)
IPv4 TCP 554 http .zip: 459.09 Mb/s (DNS:4ms SYN:3ms GET:3ms Down:7997ms:timeout:458915856)
IPv4 TCP 554 http .jpg: 609.02 Mb/s (DNS:4ms SYN:2ms GET:3ms Down:7996ms:timeout:608715805)
IPv4 TCP 554 http .mp4: 665.83 Mb/s (DNS:4ms SYN:2ms GET:3ms Down:7996ms:timeout:665499126)
IPv4 TCP 993 https .zip: 577.49 Mb/s (DNS:4ms SYN:3ms GET:159ms Down:7840ms:timeout:565936128)
IPv4 TCP 993 https .jpg: 981.03 Mb/s (DNS:4ms SYN:2ms GET:127ms Down:7872ms:timeout:965328896)
IPv4 TCP 1194 https .zip: 1491.00 Mb/s (DNS:4ms SYN:2ms GET:136ms Down:7863ms:timeout:1465466880)
IPv4 TCP 1194 https .jpg: 899.05 Mb/s (DNS:4ms SYN:2ms GET:138ms Down:7861ms:timeout:883425280)
IPv4 TCP 6881 http .zip: 595.52 Mb/s (DNS:4ms SYN:3ms GET:2ms Down:7997ms:timeout:595301528)
IPv4 TCP 6881 http .jpg: 724.91 Mb/s (DNS:4ms SYN:2ms GET:3ms Down:7997ms:timeout:724635445)
IPv4 TCP 8080 http .zip: 399.82 Mb/s (DNS:4ms SYN:3ms GET:2ms Down:7997ms:timeout:399673832)
IPv4 TCP 8080 http .jpg: 439.74 Mb/s (DNS:4ms SYN:3ms GET:2ms Down:7998ms:timeout:439625605)
IPv4 TCP 8080 http .mp4: 746.86 Mb/s (DNS:4ms SYN:3ms GET:3ms Down:7996ms:timeout:746482870)
IPv6 TCP 80 http .zip: 1905.46 Mb/s (DNS:28ms SYN:3ms GET:2ms Down:7997ms:timeout:1904743204)
IPv6 TCP 80 http .jpg: 887.76 Mb/s (DNS:4ms SYN:2ms GET:3ms Down:7996ms:timeout:887316133)
IPv6 TCP 80 http .mp4: 742.80 Mb/s (DNS:4ms SYN:2ms GET:2ms Down:7997ms:timeout:742518362)
IPv6 TCP 443 https .zip: 1398.18 Mb/s (DNS:4ms SYN:2ms GET:140ms Down:7859ms:timeout:1373536256)
IPv6 TCP 554 http .zip: 638.83 Mb/s (DNS:4ms SYN:2ms GET:2ms Down:7997ms:timeout:638594228)
IPv6 TCP 1194 https .zip: 1087.41 Mb/s (DNS:4ms SYN:2ms GET:151ms Down:7848ms:timeout:1066745856)
IPv6 TCP 6881 http .zip: 1067.96 Mb/s (DNS:4ms SYN:2ms GET:3ms Down:7996ms:timeout:1067421200)
IPv6 TCP 8080 http .zip: 1078.63 Mb/s (DNS:4ms SYN:2ms GET:3ms Down:7997ms:timeout:1078224020)
IPv4 TCP 80 http .zip: 3984.33 Mb/s (DNS:4ms SYN:2ms POST:3ms Up:7996ms:timeout:3982338360)
IPv4 TCP 80 http .jpg: 3388.34 Mb/s (DNS:4ms SYN:2ms POST:3ms Up:7996ms:timeout:3386646900)
IPv4 TCP 80 http .mp4: 3280.62 Mb/s (DNS:4ms SYN:2ms POST:3ms Up:7996ms:timeout:3278981160)
IPv4 TCP 443 https .zip: 3157.41 Mb/s (DNS:4ms SYN:3ms POST:147ms Up:7852ms:timeout:3098997720)
IPv4 TCP 554 http .zip: 3694.29 Mb/s (DNS:4ms SYN:2ms POST:2ms Up:7997ms:timeout:3692903760)
IPv4 TCP 1194 https .zip: 3022.24 Mb/s (DNS:4ms SYN:2ms POST:138ms Up:7861ms:timeout:2969726760)
IPv4 TCP 6881 http .zip: 3574.58 Mb/s (DNS:4ms SYN:2ms POST:3ms Up:7996ms:timeout:3572789220)
IPv4 TCP 8080 http .zip: 3880.69 Mb/s (DNS:4ms SYN:2ms POST:3ms Up:7996ms:timeout:3878751240)
IPv6 TCP 80 http .zip: 2024.49 Mb/s (DNS:4ms SYN:3ms POST:2ms Up:7997ms:timeout:2023732620)
IPv6 TCP 80 http .jpg: 2010.84 Mb/s (DNS:4ms SYN:2ms POST:2ms Up:7997ms:timeout:2010088080)
IPv6 TCP 80 http .zip: 1929.23 Mb/s (DNS:4ms SYN:2ms POST:3ms Up:7996ms:timeout:1928269980)
IPv6 TCP 443 https .zip: 1900.69 Mb/s (DNS:4ms SYN:2ms POST:154ms Up:7845ms:timeout:1863863820)
IPv6 TCP 554 http .zip: 1982.51 Mb/s (DNS:4ms SYN:2ms POST:2ms Up:7997ms:timeout:1981767060)
IPv6 TCP 1194 https .zip: 1897.92 Mb/s (DNS:4ms SYN:2ms POST:150ms Up:7849ms:timeout:1862094780)
IPv6 TCP 6881 http .zip: 1883.65 Mb/s (DNS:4ms SYN:3ms POST:2ms Up:7997ms:timeout:1882946520)
IPv6 TCP 8080 http .zip: 2031.72 Mb/s (DNS:4ms SYN:2ms POST:2ms Up:7997ms:timeout:2030956200)
ended at: Tue Mar 1 15:45:21 2016
root@ory-nspeed:~# curl https://raw.githubusercontent.com/kgersen/neutrality-test/master/neutrality-test.pl | perl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9537 100 9537 0 0 47526 0 --:--:-- --:--:-- --:--:-- 47685
Running on linux - 3.2.0-95-highbank - arm-linux-gnueabihf-thread-multi-64int
started at: Tue Mar 1 15:16:57 2016
IPv4 TCP 80 http .zip: 905.26 Mb/s (DNS:30ms SYN:2ms GET:1ms Down:7998ms:timeout:905031624)
IPv4 TCP 80 http .jpg: 909.84 Mb/s (DNS:5ms SYN:2ms GET:2ms Down:7997ms:timeout:909494821)
IPv4 TCP 80 http .mp4: 919.49 Mb/s (DNS:4ms SYN:2ms GET:1ms Down:7998ms:timeout:919264022)
IPv4 TCP 80 http .pdf: 915.45 Mb/s (DNS:5ms SYN:2ms GET:2ms Down:7997ms:timeout:915104744)
IPv4 TCP 443 https .zip: 149.97 Mb/s (DNS:5ms SYN:2ms GET:81ms Down:7919ms:timeout:148455424)
IPv4 TCP 443 https .jpg: 149.33 Mb/s (DNS:5ms SYN:2ms GET:55ms Down:7945ms:timeout:148307968)
IPv4 TCP 554 http .zip: 924.86 Mb/s (DNS:5ms SYN:2ms GET:2ms Down:7997ms:timeout:924513016)
IPv4 TCP 554 http .jpg: 892.64 Mb/s (DNS:4ms SYN:2ms GET:1ms Down:7998ms:timeout:892415205)
IPv4 TCP 554 http .mp4: 919.10 Mb/s (DNS:5ms SYN:2ms GET:2ms Down:7997ms:timeout:918750438)
IPv4 TCP 993 https .zip: 148.75 Mb/s (DNS:4ms SYN:2ms GET:58ms Down:7942ms:timeout:147668992)
IPv4 TCP 993 https .jpg: 148.19 Mb/s (DNS:5ms SYN:2ms GET:58ms Down:7942ms:timeout:147111936)
IPv4 TCP 1194 https .zip: 148.53 Mb/s (DNS:5ms SYN:2ms GET:63ms Down:7936ms:timeout:147341312)
IPv4 TCP 1194 https .jpg: 136.50 Mb/s (DNS:5ms SYN:2ms GET:58ms Down:7941ms:timeout:135495680)
IPv4 TCP 6881 http .zip: 926.28 Mb/s (DNS:5ms SYN:2ms GET:2ms Down:7997ms:timeout:925935864)
IPv4 TCP 6881 http .jpg: 921.00 Mb/s (DNS:5ms SYN:2ms GET:1ms Down:7998ms:timeout:920774741)
IPv4 TCP 8080 http .zip: 931.67 Mb/s (DNS:5ms SYN:2ms GET:2ms Down:7997ms:timeout:931322960)
IPv4 TCP 8080 http .jpg: 931.64 Mb/s (DNS:4ms SYN:2ms GET:1ms Down:7998ms:timeout:931408397)
IPv4 TCP 8080 http .mp4: 917.55 Mb/s (DNS:5ms SYN:2ms GET:1ms Down:7998ms:timeout:917325150)
IPv6 TCP 80 http .zip: !!! curl error for 6 GET 8 5000M http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.zip !!! RC = 7
1
IPv6 TCP 80 http .jpg: !!! curl error for 6 GET 8 5000M http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.jpg !!! RC = 7
1
IPv6 TCP 80 http .mp4: !!! curl error for 6 GET 8 5000M http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.mp4 !!! RC = 7
1
IPv6 TCP 443 https .zip: !!! curl error for 6 GET 8 5000M --insecure https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.zip !!! RC = 7
1
IPv6 TCP 554 http .zip: !!! curl error for 6 GET 8 5000M http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.zip !!! RC = 7
1
IPv6 TCP 1194 https .zip: !!! curl error for 6 GET 8 5000M --insecure https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.zip !!! RC = 7
1
IPv6 TCP 6881 http .zip: !!! curl error for 6 GET 8 5000M http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.zip !!! RC = 7
1
IPv6 TCP 8080 http .zip: !!! curl error for 6 GET 8 5000M http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.zip !!! RC = 7
1
IPv4 TCP 80 http .zip: 640.77 Mb/s (DNS:5ms SYN:2ms POST:2ms Up:7997ms:timeout:640529456)
IPv4 TCP 80 http .jpg: 659.74 Mb/s (DNS:5ms SYN:1ms POST:2ms Up:7997ms:timeout:659493790)
IPv4 TCP 80 http .mp4: 635.40 Mb/s (DNS:4ms SYN:2ms POST:2ms Up:7997ms:timeout:635164768)
IPv4 TCP 443 https .zip: 122.35 Mb/s (DNS:4ms SYN:2ms POST:51ms Up:7948ms:timeout:121555980)
IPv4 TCP 554 http .zip: 650.01 Mb/s (DNS:5ms SYN:1ms POST:2ms Up:7997ms:timeout:649761840)
IPv4 TCP 1194 https .zip: 130.86 Mb/s (DNS:5ms SYN:2ms POST:52ms Up:7947ms:timeout:129991680)
IPv4 TCP 6881 http .zip: 636.76 Mb/s (DNS:5ms SYN:2ms POST:2ms Up:7997ms:timeout:636524256)
IPv4 TCP 8080 http .zip: 615.06 Mb/s (DNS:4ms SYN:2ms POST:2ms Up:7997ms:timeout:614827088)
IPv6 TCP 80 http .zip: !!! curl error for 6 POST 8 5000M -T "-" http://3.testdebit.info:80 !!! RC = 7
1
IPv6 TCP 80 http .jpg: !!! curl error for 6 POST 8 5000M -T "-" http://3.testdebit.info:80 !!! RC = 7
1
IPv6 TCP 80 http .zip: !!! curl error for 6 POST 8 5000M -T "-" http://3.testdebit.info:80 !!! RC = 7
1
IPv6 TCP 443 https .zip: !!! curl error for 6 POST 8 5000M --insecure -T "-" https://3.testdebit.info:443 !!! RC = 7
1
IPv6 TCP 554 http .zip: !!! curl error for 6 POST 8 5000M -T "-" http://3.testdebit.info:554 !!! RC = 7
1
IPv6 TCP 1194 https .zip: !!! curl error for 6 POST 8 5000M --insecure -T "-" https://3.testdebit.info:1194 !!! RC = 7
1
IPv6 TCP 6881 http .zip: !!! curl error for 6 POST 8 5000M -T "-" http://3.testdebit.info:6881 !!! RC = 7
1
IPv6 TCP 8080 http .zip: !!! curl error for 6 POST 8 5000M -T "-" http://3.testdebit.info:8080 !!! RC = 7
1
ended at: Tue Mar 1 15:20:27 2016
my $ip= get("https://ip.lafibre.info/ip.php");
printf("Protocole IP : IPv%d\n",(index($ip,":")==-1)?4:6);
Pour la présence d'IPv6, pourquoi ne pas tester avec ce bout de code ?Ce test indique la version préférée du protocole, donc il donne IPv4 même en présence d'IPv6 si on a inversé les priorités.Code: [Sélectionner]my $ip= get("https://ip.lafibre.info/ip.php");
printf("Protocole IP : IPv%d\n",(index($ip,":")==-1)?4:6);
Dans 99,9% des cas, IPv6 est préféré sur IPv4, non ?Oui, c'est la configuration par défaut.
Préférer IPv4 sur IPv6, c'est ne jamais utiliser IPv6, car IPv4 est toujours disponible, donc il n'est pas nécessaire de faire un test de débit en IPv6 dans ce cas là.L'IPv6 reste utilisable en entrant par exemple, en P2P aussi.
Le lien ne fonctionne pas (404).
Running on MSWin32 - 6.3 - MSWin32-x64-multi-thread
started at: Thu Mar 3 10:22:11 2016
IPv4 TCP 80 http .zip: 111.26 Mb/s (DNS:16ms SYN:16ms GET:15ms Down:7970ms:timeout:110844428)
IPv4 TCP 80 http .jpg: 163.19 Mb/s (DNS:16ms SYN:15ms GET:16ms Down:7968ms:timeout:162534273)
IPv4 TCP 80 http .mp4: 118.12 Mb/s (DNS:15ms SYN:16ms GET:15ms Down:7969ms:timeout:117667014)
IPv4 TCP 80 http .pdf: 171.66 Mb/s (DNS:15ms SYN:0ms GET:0ms Down:7984ms:timeout:171314708)
IPv4 TCP 443 https .zip: 107.11 Mb/s (DNS:16ms SYN:0ms GET:140ms Down:7844ms:timeout:105021440)
IPv4 TCP 443 https .jpg: 168.53 Mb/s (DNS:16ms SYN:0ms GET:172ms Down:7813ms:timeout:164593664)
IPv4 TCP 554 http .zip: 56.28 Mb/s (DNS:15ms SYN:0ms GET:0ms Down:7984ms:timeout:56164508)
IPv4 TCP 554 http .jpg: 42.16 Mb/s (DNS:15ms SYN:0ms GET:0ms Down:7984ms:timeout:42076973)
IPv4 TCP 554 http .mp4: 55.67 Mb/s (DNS:0ms SYN:16ms GET:0ms Down:7985ms:timeout:55562994)
IPv4 TCP 993 https .zip: 146.66 Mb/s (DNS:16ms SYN:15ms GET:157ms Down:7827ms:timeout:143491072)
IPv4 TCP 993 https .jpg: 112.21 Mb/s (DNS:16ms SYN:0ms GET:766ms Down:7219ms:timeout:101253120)
IPv4 TCP 1194 https .zip: 108.79 Mb/s (DNS:15ms SYN:0ms GET:156ms Down:7828ms:timeout:106446848)
IPv4 TCP 1194 https .jpg: 125.38 Mb/s (DNS:15ms SYN:0ms GET:157ms Down:7827ms:timeout:122667008)
IPv4 TCP 6881 http .zip: 112.84 Mb/s (DNS:16ms SYN:0ms GET:0ms Down:7984ms:timeout:112611028)
IPv4 TCP 6881 http .jpg: 169.15 Mb/s (DNS:16ms SYN:0ms GET:0ms Down:7985ms:timeout:168828333)
IPv4 TCP 8080 http .zip: 166.21 Mb/s (DNS:15ms SYN:0ms GET:0ms Down:7984ms:timeout:165876208)
IPv4 TCP 8080 http .jpg: 111.43 Mb/s (DNS:15ms SYN:0ms GET:0ms Down:7984ms:timeout:111207973)
IPv4 TCP 8080 http .mp4: 183.79 Mb/s (DNS:16ms SYN:0ms GET:0ms Down:7984ms:timeout:183423954)
IPv6 TCP 80 http .zip: error (http 000)
IPv6 TCP 80 http .jpg: error (http 000)
IPv6 TCP 80 http .mp4: error (http 000)
IPv6 TCP 443 https .zip: error (http 000)
IPv6 TCP 554 http .zip: error (http 000)
IPv6 TCP 1194 https .zip: error (http 000)
IPv6 TCP 6881 http .zip: error (http 000)
IPv6 TCP 8080 http .zip: error (http 000)
IPv4 TCP 80 http .zip: 133.91 Mb/s (DNS:15ms SYN:0ms POST:0ms Up:7984ms:timeout:133642656)
IPv4 TCP 80 http .jpg: 152.16 Mb/s (DNS:16ms SYN:0ms POST:0ms Up:7984ms:timeout:151856208)
IPv4 TCP 80 http .mp4: 143.27 Mb/s (DNS:15ms SYN:0ms POST:0ms Up:7984ms:timeout:142979256)
IPv4 TCP 443 https .zip: 146.17 Mb/s (DNS:16ms SYN:0ms POST:140ms Up:7845ms:timeout:143336304)
IPv4 TCP 554 http .zip: 60.88 Mb/s (DNS:15ms SYN:0ms POST:16ms Up:7968ms:timeout:60632496)
IPv4 TCP 1194 https .zip: 141.68 Mb/s (DNS:16ms SYN:0ms POST:140ms Up:7844ms:timeout:138920400)
IPv4 TCP 6881 http .zip: 148.67 Mb/s (DNS:15ms SYN:0ms POST:0ms Up:7984ms:timeout:148371912)
IPv4 TCP 8080 http .zip: 140.41 Mb/s (DNS:0ms SYN:16ms POST:0ms Up:7984ms:timeout:140131080)
IPv6 TCP 80 http .zip: error (http 000)
IPv6 TCP 80 http .jpg: error (http 000)
IPv6 TCP 80 http .zip: error (http 000)
IPv6 TCP 443 https .zip: error (http 000)
IPv6 TCP 554 http .zip: error (http 000)
IPv6 TCP 1194 https .zip: error (http 000)
IPv6 TCP 6881 http .zip: error (http 000)
IPv6 TCP 8080 http .zip: error (http 000)
ended at: Thu Mar 3 10:27:48 2016
neutrality-test.pl [options] https://testdebit.info/neutralite/tests.txt
Ca va télécharger le fichier tests.txt et lancer les tests qu'il y a dedans (chaque ligne de test a son propre url complet)PUT <size> <curl params> | effectue un upload de taille <size>, <curl params> est passé directement a curl |
GET <curl params> | effectue un download, <curl params> est passé directement a curl |
TIME <value> | change le timeout a <value>, 0 = pas de timeout, timeout par défaut = 0 |
PRINT <...> | affiche <...> a l'écran (sauf si l'option -csv est présente) |
#<...> | commentaire, ignore le reste de la ligne |
PRINT Hello blabla
TIME 8
# tests de download en IPv4
GET -4 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.zip
GET -4 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.jpg
GET -4 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.mp4
GET -4 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.pdf
GET -4 --insecure https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.zip
GET -4 --insecure https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.jpg
GET -4 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.zip
GET -4 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.jpg
GET -4 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.mp4
GET -4 --insecure https://3.testdebit.info:993/fichiers/5000Mo/5000Mo.zip
GET -4 --insecure https://3.testdebit.info:993/fichiers/5000Mo/5000Mo.jpg
GET -4 --insecure https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.zip
GET -4 --insecure https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.jpg
GET -4 http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.zip
GET -4 http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.jpg
GET -4 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.zip
GET -4 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.jpg
GET -4 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.mp4
# tests de download en IPv6
GET -6 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.zip
GET -6 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.jpg
GET -6 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.mp4
GET -6 --insecure https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.zip
GET -6 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.zip
GET -6 --insecure https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.zip
GET -6 http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.zip
GET -6 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.zip
# tests d'upload en IPv4
PUT 5000Mo -4 http://3.testdebit.info:80
#PUT 5000Mo -4 http://3.testdebit.info:80
#PUT 5000Mo -4 http://3.testdebit.info:80
PUT 5000Mo -4 --insecure https://3.testdebit.info:443
PUT 5000Mo -4 http://3.testdebit.info:554
PUT 5000Mo -4 --insecure https://3.testdebit.info:1194
PUT 5000Mo -4 http://3.testdebit.info:6881
PUT 5000Mo -4 http://3.testdebit.info:8080
# tests d'upload en IPv6
PUT 5000Mo -6 http://3.testdebit.info:80
#PUT 5000Mo -6 http://3.testdebit.info:80
#PUT 5000Mo -6 http://3.testdebit.info:80
PUT 5000Mo -6 --insecure https://3.testdebit.info:443
PUT 5000Mo -6 http://3.testdebit.info:554
PUT 5000Mo -6 --insecure https://3.testdebit.info:1194
PUT 5000Mo -6 http://3.testdebit.info:6881
PUT 5000Mo -6 http://3.testdebit.info:8080
PUT 5000Mo -4 -H "Content-Type: application/zip" http://3.testdebit.info:80
PUT 5000Mo -4 -H "Content-Type: image/jpeg" http://3.testdebit.info:80
PUT 5000Mo -4 -H "Content-Type: video/mp4" http://3.testdebit.info:80
C'est une bonne idée de séparer le script du fichier qui liste les tests. Il faut par contre prévoir qu'en cas d'absence d'url passé en argument, on part sur une url enregistrée, l'idée étant toujours de rendre le script le plus simple possible avec un fonctionnement même sans aucun argument à passer.pour Windows et l'exe tout-en-un c'est le cas.
Par contre pour IPv4 vs IPv6, cela signifie que le même serveur doit délivrer un fichier différent si on l'appelle en IPv4 ou en IPv6.
<?php
$ip = $_SERVER['REMOTE_ADDR'];
if (strpos($_SERVER[REMOTE_ADDR], ":") === FALSE) {
header('Location: https://testdebit.info/neutralite/tests4.txt');
} else {
header('Location: https://testdebit.info/neutralite/tests.txt');
};
?>
PRINT Test neutralite FAI
TIME 8
# tests de download en IPv4
GET 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.zip
GET 4 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.jpg
GET 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.mp4
GET 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.pdf
GET 4 https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.zip --insecure
GET 4 https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.jpg --insecure
GET 4 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.zip
GET 4 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.jpg
GET 4 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.mp4
GET 4 https://3.testdebit.info:993/fichiers/5000Mo/5000Mo.zip --insecure
GET 4 https://3.testdebit.info:993/fichiers/5000Mo/5000Mo.jpg --insecure
GET 4 https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.zip --insecure
GET 4 https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.jpg --insecure
GET 4 http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.zip
GET 4 http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.jpg
GET 4 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.zip
GET 4 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.jpg
GET 4 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.mp4
# tests de download en IPv6
GET 6 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.zip
GET 6 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.jpg
GET 6 http://3.testdebit.info:80/fichiers/5000Mo/5000Mo.mp4
GET 6 https://3.testdebit.info:443/fichiers/5000Mo/5000Mo.zip --insecure
GET 6 http://3.testdebit.info:554/fichiers/5000Mo/5000Mo.zip
GET 6 https://3.testdebit.info:1194/fichiers/5000Mo/5000Mo.zip --insecure
GET 6 http://3.testdebit.info:6881/fichiers/5000Mo/5000Mo.zip
GET 6 http://3.testdebit.info:8080/fichiers/5000Mo/5000Mo.zip
# tests d'upload en IPv4
PUT 4 5G http://3.testdebit.info:80
PUT 4 5G https://3.testdebit.info:443 --insecure
PUT 4 5G http://3.testdebit.info:554
PUT 4 5G https://3.testdebit.info:1194 --insecure
PUT 4 5G http://3.testdebit.info:6881
PUT 4 5G http://3.testdebit.info:8080
# tests d'upload en IPv6
PUT 6 5G http://3.testdebit.info:80
#PUT 6 5G http://3.testdebit.info:80
#PUT 6 5G http://3.testdebit.info:80
PUT 6 5G https://3.testdebit.info:443 --insecure
PUT 6 5G http://3.testdebit.info:554
PUT 6 5G https://3.testdebit.info:1194 --insecure
PUT 6 5G http://3.testdebit.info:6881
PUT 6 5G http://3.testdebit.info:8080
perl neutrality-test.pl [options] url_fichier_tests
ouperl neutrality-test.pl [options] < path_to_url_fichier_tests
echo "PUT 4 10M http://3.testdebit.info:80" | perl neutrality-test.pl
ouecho "PUT 4 5G http://3.testdebit.info:80" | perl neutrality-test.pl -time 8
PRINT Test various ISPs
TIME 8
PRINT Online intuxication Linux 3.2
GET 4 http://ipv4.intuxication.testdebit.info/fichiers/5000Mo.dat
GET 4 ftp://ipv4.intuxication.testdebit.info/5000Mo.dat
GET 6 http://ipv6.intuxication.testdebit.info/fichiers/5000Mo.dat
GET 6 ftp://ipv6.intuxication.testdebit.info/5000Mo.dat
PRINT Mediactive Network Linux 3.2
GET 4 http://paris.cdn.mediactive-network.net/speedtest/5000Mo.dat
PRINT Ikoula Linux 4.2 (conf défaut)
GET 4 http://ikoula-ipv4.testdebit.info/fichiers/5000Mo.dat
GET 6 http://ikoula-ipv6.testdebit.info/fichiers/5000Mo.dat
PRINT Free Bezons
GET 4 http://test-debit.free.fr/1048576.rnd
PRINT OVH Roubaix
GET 4 http://ipv4.rbx.proof.ovh.net/files/10Gio.dat
GET 6 http://ipv6.rbx.proof.ovh.net/files/10Gio.dat
PRINT OVH Strasbourg
GET 4 http://ipv4.sbg.proof.ovh.net/files/10Gio.dat
GET 6 http://ipv6.sbg.proof.ovh.net/files/10Gio.dat
PRINT OVH Beauharnois (Canada)
GET 4 http://ipv4.bhs.proof.ovh.net/files/10Gio.dat
GET 6 http://ipv6.bhs.proof.ovh.net/files/10Gio.dat
PRINT OTE (Greece)
GET 4 http://speedtest.ftp.otenet.gr/files/test1Gb.db
PRINT Internode (Australia)
GET 4 http://mirror.internode.on.net/pub/test/5000meg.test
echo "PUT 4 5G ftp://1.testdebit.info/montant/dummy.bin" | perl neutrality-test.pl -time 6
6/ Le test ne fonctionne qu'avec un fichier distant, il y a un refus avec le même fichier en local
7/ Utiliser le fichier par défaut si rien n'est proposé en option au script
perl neutrality-test.pl [options] < fichierlocal
oucat fichierlocal | perl neutrality-test.pl [options]
8/ Prévoir une aide intégré au script sur les options possibles
Le test fonctionne très bien, mais j'ai noté des pistes d'améliorations secondaire :
1/ Afficher les 3 premiers caractères de l'extension de fichier testé (il y a des espaces qu'il est possible de supprimer pour ne pas prendre plus de place)
2/ Arrondir les données de temps à la ms la plus proche, pour éviter ça :curieux je n'ai jamais constaté ces souci d'arrondis. je vais forcer l'arrondi.
IPv4 http 554 : 0.91 Mb/s (DNS:1510ms SYN:17.0000000000002ms PUT:16ms Up:7941ms:timeout:900900)
IPv4 http 8080 : 0.89 Mb/s (DNS:1510ms SYN:13.0000000000002ms PUT:16.9999999999998ms Up:7957ms:timeout:884520)
3/ Donner des explications pour les "early timeout" :Ca veut dire que Curl a atteint le timeout avant de commencer un transfert donc avant de recevoir des données. j'ai changé le message.
IPv4 http 554 : !(early timeout)! 0.00 Mb/s (DNS:0ms SYN:0ms GET:0ms Down:1511ms:timeout:0)
IPv4 https 993 : !(early timeout)! 0.00 Mb/s (DNS:12ms SYN:18ms GET:-30ms Down:1244ms:timeout:0)
4/ Mettre les données après timeout: avec une unité en Mo et afficher cette unitéok
5/ Mettre une majuscule à "started at"ok
Tout depend si on veut tester le FAI sur "la syntaxe des url" ou sur le contenu (content-type) quelque soit la syntaxe. Ce sont 2 tests différents a mon avis.Les bridage observés aujourd'hui ne sont pas sur le contenu du fichier (renommer le même fichier et le débit change)
Concernant l’affichage de l'extension des fichiers, ce n'est pas une information pertinente, si tous les fichiers ont la même extension et que l'on teste par exemple différents hébergeurs.
=> Il me semble plus pertinent de prévoir un champ libre qui sera affiché en début de ligne. Il serait bon de pouvoir afficher des espaces dans ce champ sans qu'il considère que l'on passe à l'argument suivant. Selon le fichier on mettra l'extension du fichier ou au contraire les nom des hébergeurs.
Les bridage observés aujourd'hui ne sont pas sur le contenu du fichier (renommer le même fichier et le débit change)
Le content-type change en fonction de l'extension (comportement par défaut des serveurs web) il me semble.
PRINT Network neutrality test - Server localization: France - Hosting by Bouygues Telecom
TIME 8
PRINT IPv4 download tests
GET binaire 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.zip
GET image 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.jpg
GET video 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.mp4
GET "bla bla" 4 http://3.testdebit.info/fichiers/grostrucsansextension
...
et ce champ libre ira dans ligne du résultat tel quel:La solution N°1, qui permet d'afficher d'autres choses que l'extension (en fonction du test réalisé)
Je propose de mettre ce champ texte en début de ligne (coté conception du fichier de test, il faudra faire un champ qui a toujours le même nombre de caractère pour les données soient alignées)
Il me semble possible de gagner a plusieurs endroits des espaces :":timeout:" ca n'est pas vraiment "size", ca indique si y'a eu un timeout ou pas.(ca marque "full" sinon)
- Le protocole le plus long fait 5 caractères (https), je propose de rajouter un espace puis passer au numéro de port.
- Le numéro de port fait au maximum 5 caractères et je propose de passer au ":" sans espace. Dans la pratique, il y aura toujours au moins un espace sauf si on utilise des ports > 9999
- Après le ":" je propose aussi de passer directement sans espace sur le débit tel qu'il est calculé aujourd'hui, il est donc possible de gagner deux espaces et de toujours gérer les débits jusqu'à 9,9 Gb/s.
- ":timeout:" pourrait être remplacé par " Size:" (dans tous les cas remplacer au moins le : devant timeout par un espace)
GET "zip" 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.zip
GET "jpg" 4 http://3.testdebit.info/fichiers/5000Mo/5000Mo.jpg
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).
Sinon, est-ce que le timeout spécifié en ligne de commande ne devrait pas être prioritaire sur celui du fichier de tests ?
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."
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 ?
Et, en toute rigueur, le "KB" de la fonction scaleIt devrait être "kB", puisqu'on parle en SI.
sur quel environnent ca ne marche pas?Fedora
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é.
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.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>;"
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')" ...
curl -s -k https://testdebit.info/neutralite/neutrality-test.pl | perl - [options] https://iperf.fr/neutrality-test/neutrality-test-default.php
curl -s -k https://testdebit.info/neutralite/neutrality-test.pl > neutrality-test.pl
perl neutrality-test.pl [options] url_des_tests
perl neutrality-test.pl [options] < fichier_des_tests
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.chmod +x neutrality-test.pl
puis utiliser "./neutrality-test.pl" au lieu de "perl neutrality-test.pl"
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
y'avait un bug (les simple quote). j'ai corrigé.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).
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).Les quotes sont passées a curl et ca foire sous Windows. c'est spécifique a Windows.
#!/usr/bin/perl
use strict;
use warnings;
my $url = "http://test.com/?somestuff";
my $content = `echo '$url'`;
print "with quotes => $content\n";
$content = `echo $url`;
print "without quotes => $content\n";
echo 'hello'
affiche 'hello' sous WindowsIl 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.
Bonsoir Vivien,
Possibilité éventuellement d'avoir un poil plus gros ?
ça commence à faire juste sur du Gigabit Eth.
Vous parlez de quel binaire curl ? (il en existe plusieurs, il n'y en a pas d'officiel)J'avais fait le test avec celui qui était avec le .bat d'origine, je ne sais pas lequel kgersen a pris.
=> http://www.paehl.com/open_source/?CURL_7.47.1
Running on linux - 3.13.0-79-generic - x86_64-linux-gnu-thread-multi
Started at: Sat Mar 12 02:13:05 2016
Network neutrality test - Server localization: France - Hosting by Bouygues Telecom
IPv4 download tests
.zip IPv4 http 80 : 609.28 Mb/s (DNS:4ms SYN:2ms GET:1ms Down:3998ms 304.49 MB T)
.jpg IPv4 http 80 : 713.40 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 356.43 MB T)
.mp4 IPv4 http 80 : 502.90 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3996ms 251.20 MB T)
.pdf IPv4 http 80 : 521.90 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 260.76 MB T)
.zip IPv4 https 443 : 667.12 Mb/s (DNS:4ms SYN:1ms GET:231ms Down:3768ms 314.21 MB T)
.jpg IPv4 https 443 : 657.54 Mb/s (DNS:4ms SYN:2ms GET:217ms Down:3782ms 310.85 MB T)
.zip IPv4 http 554 : 513.31 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 256.46 MB T)
.jpg IPv4 http 554 : 515.34 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 257.47 MB T)
.mp4 IPv4 http 554 : 604.46 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 302.00 MB T)
.zip IPv4 https 993 : 676.27 Mb/s (DNS:4ms SYN:2ms GET:232ms Down:3767ms 318.44 MB T)
.jpg IPv4 https 993 : 675.33 Mb/s (DNS:4ms SYN:2ms GET:232ms Down:3767ms 318.00 MB T)
.zip IPv4 https 1194 : 614.27 Mb/s (DNS:4ms SYN:1ms GET:232ms Down:3767ms 289.24 MB T)
.jpg IPv4 https 1194 : 636.85 Mb/s (DNS:4ms SYN:2ms GET:210ms Down:3789ms 301.63 MB T)
.zip IPv4 http 6881 : 573.92 Mb/s (DNS:4ms SYN:2ms GET:1ms Down:3998ms 286.82 MB T)
.jpg IPv4 http 6881 : 470.94 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 235.29 MB T)
.zip IPv4 http 8080 : 507.97 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 253.79 MB T)
.jpg IPv4 http 8080 : 708.47 Mb/s (DNS:4ms SYN:2ms GET:1ms Down:3998ms 354.06 MB T)
.mp4 IPv4 http 8080 : 502.68 Mb/s (DNS:4ms SYN:1ms GET:2ms Down:3997ms 251.15 MB T)
.zip IPv4 ftp 21 : 559.24 Mb/s (DNS:4ms SYN:1ms GET:55ms Down:3944ms 275.70 MB T)
.jpg IPv4 ftp 21 : 525.91 Mb/s (DNS:4ms SYN:1ms GET:214ms Down:3785ms 248.82 MB T)
IPv4 upload tests
IPv4 http 80 : 1252.36 Mb/s (DNS:4ms SYN:1ms PUT:2ms Up:3996ms 625.55 MB T)
IPv4 https 443 : 628.34 Mb/s (DNS:5ms SYN:1ms PUT:215ms Up:3784ms 297.20 MB T)
IPv4 http 554 : 606.78 Mb/s (DNS:4ms SYN:2ms PUT:1ms Up:3996ms 303.08 MB T)
IPv4 https 1194 : 629.13 Mb/s (DNS:4ms SYN:1ms PUT:219ms Up:3780ms 297.26 MB T)
IPv4 http 6881 : 602.86 Mb/s (DNS:4ms SYN:2ms PUT:1ms Up:3997ms 301.20 MB T)
IPv4 http 8080 : 603.53 Mb/s (DNS:4ms SYN:1ms PUT:2ms Up:3997ms 301.54 MB T)
.zip IPv4 ftp 21 : 593.95 Mb/s (DNS:4ms SYN:1ms PUT:61ms Up:3938ms 292.37 MB T)
Ended at: Sat Mar 12 02:14:53 2016
Test depuis les nouveaux serveurs C2 VPS d'Online/Scaleway (Ubuntu 15.10 + Docker):Bizarre, le kernel 3.13 c'est pour Ubuntu 14.04 normalement, Ubuntu 15.10 devrait être en 4.2.
root@scw-xxxxx:~# uname -a
Linux scw-xxxxxx 4.4.5-docker-1 #1 SMP Fri Mar 11 10:17:21 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
curieux que le script affiche 3.13 donc ...
les 5Gbps c'est en interne uniquement (entre instances).Est-ce qu'ils ont clarifié ce que veut dire interne ? Interne Scaleway, interne Online ?
curieux que le script affiche 3.13 donc ...En fait c'est le kernel utilisé sur la machine qui a compilé perl.
The Config module contains all the information that was available to the Configure program at Perl build time
Est-ce qu'ils ont clarifié ce que veut dire interne ? Interne Scaleway, interne Online ?j'ai pas l'info. logiquement ca serait interne scaleway non? via leur nouveau switch ToR (chouchou (https://lafibre.info/online/offres-a-2-5-gbs/msg307607/#msg307607))
En fait c'est le kernel utilisé sur la machine qui a compilé perl.a bien vu. faut que je corrige cela.
http://perldoc.perl.org/Config.html
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:Code: [Sélectionner]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:Code: [Sélectionner]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):Code: [Sélectionner]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.
Can't find string terminator '"' anywhere before EOF at script/ppK3n8X.pl line 1.
A quelle étape ca se produit ?Au lancement du .exe la compil ne génère aucune erreur.
numéricable 1gigabit a bordeaux centre ville .... une autre conception de la neutralité???
???ha pardon j'ai oublié le test attends je l'ai enoyé a vivien je vais e récupérer
Tu as fait un test si oui poste le.
Sinon pourquoi ça ?
Le port 554 est bridé par plusieurs opérateurs, à part ça il n'y a rien de très bizarre non ?Le port 993 (imaps) semble bridé aussi, je ne vois pas pourquoi.
Dans mon cas, j'ai 40Mb/s en download IPv4, et 4,5-7,5Mb/s en IPv6 (probablement car en IPv4 je passe par un peering à TH2, alors qu'en IPv6 c'est via Level3).
Running on linux - 4.3.5-300.fc23.x86_64 - x86_64-linux-thread-multi
Started at: Wed Apr 20 10:22:57 2016
Network neutrality test - Server localization: France - Hosting by Bouygues Telecom
IPv4 download tests
zip IPv4 http 80 : 932.28 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:7996ms 931.82 MB T)
jpg IPv4 http 80 : 931.35 Mb/s (DNS:4ms SYN:13ms GET:4ms Down:7995ms 930.77 MB T)
mp4 IPv4 http 80 : 932.57 Mb/s (DNS:4ms SYN:3ms GET:4ms Down:7995ms 931.99 MB T)
pdf IPv4 http 80 : 933.19 Mb/s (DNS:4ms SYN:8ms GET:3ms Down:7996ms 932.73 MB T)
zip IPv4 https 443 : 931.53 Mb/s (DNS:4ms SYN:10ms GET:120ms Down:7879ms 917.44 MB T)
jpg IPv4 https 443 : 932.28 Mb/s (DNS:4ms SYN:4ms GET:120ms Down:7879ms 918.18 MB T)
zip IPv4 http 554 : 45.99 Mb/s (DNS:4ms SYN:17ms GET:4ms Down:7995ms 45.97 MB T)
jpg IPv4 http 554 : 46.13 Mb/s (DNS:4ms SYN:14ms GET:5ms Down:7994ms 46.09 MB T)
mp4 IPv4 http 554 : 46.34 Mb/s (DNS:4ms SYN:17ms GET:4ms Down:7995ms 46.31 MB T)
zip IPv4 https 993 : 931.51 Mb/s (DNS:4ms SYN:10ms GET:122ms Down:7877ms 917.19 MB T)
jpg IPv4 https 993 : 932.28 Mb/s (DNS:4ms SYN:4ms GET:113ms Down:7886ms 918.99 MB T)
zip IPv4 https 1194 : 932.12 Mb/s (DNS:4ms SYN:4ms GET:117ms Down:7882ms 918.37 MB T)
jpg IPv4 https 1194 : 931.75 Mb/s (DNS:4ms SYN:8ms GET:121ms Down:7878ms 917.54 MB T)
zip IPv4 http 6881 : 932.24 Mb/s (DNS:4ms SYN:6ms GET:4ms Down:7995ms 931.66 MB T)
jpg IPv4 http 6881 : 928.38 Mb/s (DNS:4ms SYN:4ms GET:4ms Down:7995ms 927.80 MB T)
zip IPv4 http 8080 : 931.66 Mb/s (DNS:4ms SYN:11ms GET:3ms Down:7996ms 931.19 MB T)
jpg IPv4 http 8080 : 931.84 Mb/s (DNS:4ms SYN:9ms GET:4ms Down:7995ms 931.26 MB T)
mp4 IPv4 http 8080 : 932.43 Mb/s (DNS:4ms SYN:4ms GET:3ms Down:7996ms 931.96 MB T)
zip IPv4 ftp 21 : 915.02 Mb/s (DNS:4ms SYN:11ms GET:42ms Down:7957ms 910.11 MB T)
jpg IPv4 ftp 21 : 915.04 Mb/s (DNS:4ms SYN:5ms GET:229ms Down:7770ms 888.73 MB T)
IPv6 download tests
zip IPv6 http 80 : 351.64 Mb/s (DNS:4ms SYN:10ms GET:5ms Down:7994ms 351.38 MB T)
jpg IPv6 http 80 : 319.04 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:7994ms 318.80 MB T)
mp4 IPv6 http 80 : 340.43 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:7994ms 340.18 MB T)
zip IPv6 https 443 : 918.20 Mb/s (DNS:4ms SYN:14ms GET:119ms Down:7880ms 904.43 MB T)
zip IPv6 http 554 : 344.27 Mb/s (DNS:4ms SYN:23ms GET:6ms Down:7993ms 343.97 MB T)
zip IPv6 https 1194 : 919.23 Mb/s (DNS:4ms SYN:5ms GET:124ms Down:7875ms 904.87 MB T)
zip IPv6 http 6881 : 340.85 Mb/s (DNS:4ms SYN:90ms GET:5ms Down:7994ms 340.60 MB T)
zip IPv6 http 8080 : 341.02 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:7994ms 340.77 MB T)
zip IPv6 ftp 21 : 341.05 Mb/s (DNS:4ms SYN:5ms GET:51ms Down:7948ms 338.83 MB T)
IPv4 upload tests
IPv4 http 80 : 237.46 Mb/s (DNS:4ms SYN:14ms PUT:3ms Up:7996ms 237.34 MB T)
IPv4 https 443 : 237.03 Mb/s (DNS:4ms SYN:10ms PUT:116ms Up:7883ms 233.56 MB T)
IPv4 http 554 : 57.64 Mb/s (DNS:4ms SYN:7ms PUT:4ms Up:7976ms 57.47 MB T)
IPv4 https 1194 : 237.11 Mb/s (DNS:4ms SYN:14ms PUT:117ms Up:7881ms 233.58 MB T)
IPv4 http 6881 : 240.09 Mb/s (DNS:4ms SYN:8ms PUT:3ms Up:7996ms 239.97 MB T)
IPv4 http 8080 : 240.18 Mb/s (DNS:4ms SYN:9ms PUT:3ms Up:7996ms 240.06 MB T)
IPv4 ftp 21 : 238.68 Mb/s (DNS:4ms SYN:9ms PUT:42ms Up:7957ms 237.40 MB T)
IPv6 upload tests
IPv6 http 80 : 65.27 Mb/s (DNS:4ms SYN:14ms PUT:5ms Up:7992ms 65.21 MB T)
IPv6 https 443 : 73.88 Mb/s (DNS:4ms SYN:4ms PUT:123ms Up:7875ms 72.73 MB T)
IPv6 http 554 : 61.99 Mb/s (DNS:4ms SYN:4ms PUT:4ms Up:7993ms 61.93 MB T)
IPv6 https 1194 : 72.05 Mb/s (DNS:4ms SYN:5ms PUT:117ms Up:7881ms 70.97 MB T)
IPv6 http 6881 : 66.26 Mb/s (DNS:4ms SYN:4ms PUT:5ms Up:7993ms 66.20 MB T)
IPv6 http 8080 : 74.41 Mb/s (DNS:4ms SYN:5ms PUT:6ms Up:7992ms 74.33 MB T)
IPv6 ftp 21 : 78.96 Mb/s (DNS:4ms SYN:4ms PUT:51ms Up:7948ms 78.45 MB T)
Ended at: Wed Apr 20 10:28:41 2016
Avoir un comportement aussi étrange au ping pourrait créer une certaine confusion, si c'est un choix il est bizarre.
HOST: scw-nspeed Loss% Snt Last Avg Best Wrst StDev
1.|-- 2001:bc8:xxxx:xxxx::x:xxx 0.0% 10 0.4 0.4 0.4 0.5 0.0
2.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
3.|-- 2001:bc8:400:4:0:1:1:200 0.0% 10 1.3 1.5 1.0 2.8 0.3
4.|-- 2001:bc8:400:1::39 0.0% 10 1.3 1.7 1.3 2.7 0.3
5.|-- 2a02:e5c:2:2::1 0.0% 10 0.8 0.8 0.7 1.0 0.0
6.|-- 2a02:e5c:0:3::1 0.0% 10 1.0 1.2 1.0 2.4 0.3
7.|-- 2a01:cfc4:0:1c00::12 0.0% 10 1.3 1.3 1.2 1.4 0.0
8.|-- 2a01cccccccccccccccccccccccccccc.ipv6.abo.wanadoo.fr 0.0% 10 1.9 2.0 1.9 2.2 0.0
9.|-- 2a01bbbbbbbbbbbbbbbbbbbbbbbbbbbb.ipv6.abo.wanadoo.fr 0.0% 10 41.7 31.0 24.0 41.7 5.3
10.|-- 2a01zzzzzzzzzzzzzzzzzzzzzzzzzzzz.ipv6.abo.wanadoo.fr 0.0% 10 42.2 32.1 24.0 42.2 6.0
Le souci d'upload en IPv6 avec Orange est lié aux serveurs de Vivien (*.testdebit.info).Et celui en download ?
voir ce sujet: https://lafibre.info/iperf/iperf3-upload-ipv6-orange/
perl neutrality-test.pl https://raw.githubusercontent.com/kgersen/neutrality-test/master/multi-isp.txt
Des soucis de peering/dimensionnement IPv6 chez Orange ? c'est possible.Ça ne rendrait pas le https plus rapide que le http.
Ça ne rendrait pas le https plus rapide que le http.
Start: Thu Apr 21 09:14:53 2016
HOST: xxxxxxxxxxxxxxx Loss% Snt Last Avg Best Wrst StDev
1. AS3215 2a01:xxxx:xxxx:xxxx::1 0.0% 100 0.7 0.7 0.4 0.9 0.0
2. AS3215 2a01xxxxxxxxxxxx0193025300750131.ipv6.abo.wanadoo.fr 0.0% 100 1.9 2.4 1.5 13.1 1.7
3. AS5511 2a01:cfc0:200:8300:193:252:102:4 0.0% 100 9.9 10.3 9.7 24.7 1.8
4. AS5511 2a01:cfc4:0:1500::f 0.0% 100 22.0 17.6 16.1 28.3 2.7
5. AS5410 2001:860:bbee:27::1 0.0% 100 16.1 16.5 15.9 27.0 1.6
6. AS5410 2001:860:bbee:7c::1 0.0% 100 18.0 18.2 16.2 20.2 0.9
7. AS??? ??? 100.0 100 0.0 0.0 0.0 0.0 0.0
8. AS5410 2001:860:bbee:7b::1 0.0% 100 16.7 16.6 16.3 16.9 0.0
9. AS5410 2001:860:f70b:100::3 0.0% 100 16.5 16.5 16.2 16.7 0.0
28/04/2016 16:50:19 Téléchargement de 500 Mo depuis 3.testdebit.info :
IPv4+TCP80 +http .zip: 559,284 Mb/s (DNS:32ms+SYN:15ms+GET:16ms+Down:7156ms)
IPv4+TCP80 +http .jpg: 826,446 Mb/s (DNS:16ms+SYN:15ms+GET:16ms+Down:4844ms)
IPv4+TCP80 +http .mp4: 917,431 Mb/s (DNS:16ms+SYN:15ms+GET:0ms+Down:4360ms)
IPv4+TCP80 +http .pdf: 584,795 Mb/s (DNS:15ms+SYN:31ms+GET:0ms+Down:6844ms)
IPv4+TCP443 +https.zip: 742,942 Mb/s (DNS:15ms+SYN:16ms+GET:219ms+Down:5390ms)
IPv4+TCP443 +https.jpg: 920,810 Mb/s (DNS:16ms+SYN:15ms+GET:219ms+Down:4344ms)
IPv4+TCP554 +http .zip: 37,1 Mb/s (DNS:15ms+SYN:16ms+GET:16ms+Down:108109ms)
IPv4+TCP554 +http .jpg: 37,898 Mb/s (DNS:15ms+SYN:16ms+GET:15ms+Down:105547ms)
IPv4+TCP554 +http .mp4: 37,427 Mb/s (DNS:16ms+SYN:15ms+GET:16ms+Down:106875ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv4+TCP993 +https.zip: 37,427 Mb/s (DNS:0ms+SYN:0ms+GET:300343ms+Down:0ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv4+TCP993 +https.jpg: 37,427 Mb/s (DNS:16ms+SYN:0ms+GET:300140ms+Down:0ms)
IPv4+TCP1194+https.zip: 851,788 Mb/s (DNS:16ms+SYN:15ms+GET:219ms+Down:4703ms)
IPv4+TCP1194+https.jpg: 924,214 Mb/s (DNS:16ms+SYN:15ms+GET:219ms+Down:4328ms)
IPv4+TCP6881+http .zip: 715,307 Mb/s (DNS:15ms+SYN:0ms+GET:16ms+Down:5594ms)
IPv4+TCP6881+http .jpg: 605,326 Mb/s (DNS:16ms+SYN:15ms+GET:16ms+Down:6609ms)
IPv4+TCP8080+http .zip: 458,295 Mb/s (DNS:15ms+SYN:0ms+GET:16ms+Down:8734ms)
IPv4+TCP8080+http .jpg: 707,213 Mb/s (DNS:16ms+SYN:15ms+GET:16ms+Down:5656ms)
IPv4+TCP8080+http .mp4: 773,993 Mb/s (DNS:15ms+SYN:16ms+GET:15ms+Down:5172ms)
IPv6+TCP80 +http .zip: 831,946 Mb/s (DNS:16ms+SYN:15ms+GET:0ms+Down:4813ms)
IPv6+TCP80 +http .jpg: 645,161 Mb/s (DNS:16ms+SYN:16ms+GET:15ms+Down:6203ms)
IPv6+TCP80 +http .mp4: 788,643 Mb/s (DNS:15ms+SYN:16ms+GET:0ms+Down:5078ms)
IPv6+TCP443 +https.zip: 713,266 Mb/s (DNS:16ms+SYN:0ms+GET:234ms+Down:5610ms)
IPv6+TCP554 +http .zip: 648,508 Mb/s (DNS:16ms+SYN:0ms+GET:15ms+Down:6172ms)
IPv6+TCP1194+https.zip: 729,927 Mb/s (DNS:15ms+SYN:0ms+GET:219ms+Down:5485ms)
IPv6+TCP6881+http .zip: 481,231 Mb/s (DNS:16ms+SYN:15ms+GET:16ms+Down:8312ms)
IPv6+TCP8080+http .zip: 643,500 Mb/s (DNS:16ms+SYN:16ms+GET:15ms+Down:6219ms)
28/04/2016 17:08:07 Emission de 500 Mo vers 3.testdebit.info :
IPv4+TCP80 +http .zip: 36,662 Mb/s (DNS:15ms+SYN:0ms+POST:172ms+Up:109110ms)
IPv4+TCP80 +http .jpg: 36,694 Mb/s (DNS:15ms+SYN:16ms+POST:172ms+Up:109015ms)
IPv4+TCP80 +http .mp4: 36,640 Mb/s (DNS:15ms+SYN:16ms+POST:156ms+Up:109172ms)
IPv4+TCP443 +https.zip: 36,339 Mb/s (DNS:15ms+SYN:16ms+POST:219ms+Up:110078ms)
IPv4+TCP554 +http .zip: 33,70 Mb/s (DNS:15ms+SYN:16ms+POST:156ms+Up:120953ms)
IPv4+TCP1194+https.zip: 36,729 Mb/s (DNS:16ms+SYN:15ms+POST:219ms+Up:108906ms)
IPv4+TCP6881+http .zip: 36,358 Mb/s (DNS:0ms+SYN:31ms+POST:156ms+Up:110016ms)
IPv4+TCP8080+http .zip: 36,619 Mb/s (DNS:15ms+SYN:16ms+POST:172ms+Up:109234ms)
IPv6+TCP80 +http .zip: 11,911 Mb/s (DNS:16ms+SYN:0ms+POST:156ms+Up:335813ms)
IPv6+TCP80 +http .jpg: 13,67 Mb/s (DNS:16ms+SYN:16ms+POST:156ms+Up:306109ms)
IPv6+TCP80 +http .zip: 12,145 Mb/s (DNS:15ms+SYN:16ms+POST:156ms+Up:329344ms)
IPv6+TCP443 +https.zip: 13,796 Mb/s (DNS:15ms+SYN:16ms+POST:203ms+Up:289922ms)
Nombre non valide. Les nombres sont limités à une précision de 32 bits
IPv6+TCP554 +http .zip: 0,15 Mb/s (DNS:1529342000ms+SYN:-1529341984ms+POST:0ms+Up:172ms)
IPv6+TCP1194+https.zip: 13,37 Mb/s (DNS:15ms+SYN:16ms+POST:219ms+Up:306812ms)
Nombre non valide. Les nombres sont limités à une précision de 32 bits
IPv6+TCP6881+http .zip: 0,17 Mb/s (DNS:1474926000ms+SYN:-1474925985ms+POST:16ms+Up:156ms)
Nombre non valide. Les nombres sont limités à une précision de 32 bits
IPv6+TCP8080+http .zip: 0,15 Mb/s (DNS:1540609000ms+SYN:-1540608984ms+POST:16ms+Up:171ms)
28/04/2016 18:05:41 Appuyez sur une touche pour quitter.
Running on linux - 4.3.5-300.fc23.x86_64 - x86_64-linux-thread-multi
Started at: Fri May 6 16:56:30 2016
Network neutrality test - Server localization: France - Hosting by Bouygues Telecom
IPv4 download tests
zip IPv4 http 80 : 803.84 Mb/s (DNS:4ms SYN:6ms GET:6ms Down:7993ms 803.14 MB T)
jpg IPv4 http 80 : 833.66 Mb/s (DNS:4ms SYN:30ms GET:8ms Down:7991ms 832.72 MB T)
mp4 IPv4 http 80 : 826.39 Mb/s (DNS:4ms SYN:32ms GET:8ms Down:7991ms 825.46 MB T)
pdf IPv4 http 80 : 809.40 Mb/s (DNS:4ms SYN:34ms GET:8ms Down:7991ms 808.49 MB T)
zip IPv4 https 443 : 811.06 Mb/s (DNS:4ms SYN:30ms GET:133ms Down:7866ms 797.47 MB T)
jpg IPv4 https 443 : 814.25 Mb/s (DNS:4ms SYN:32ms GET:122ms Down:7877ms 801.73 MB T)
zip IPv4 http 554 : 59.19 Mb/s (DNS:4ms SYN:27ms GET:9ms Down:7989ms 59.11 MB T)
jpg IPv4 http 554 : 59.79 Mb/s (DNS:4ms SYN:6ms GET:6ms Down:7993ms 59.74 MB T)
mp4 IPv4 http 554 : 56.67 Mb/s (DNS:4ms SYN:7ms GET:7ms Down:7992ms 56.62 MB T)
zip IPv4 https 993 : 798.59 Mb/s (DNS:4ms SYN:6ms GET:140ms Down:7859ms 784.52 MB T)
jpg IPv4 https 993 : 774.01 Mb/s (DNS:4ms SYN:28ms GET:126ms Down:7873ms 761.72 MB T)
zip IPv4 https 1194 : 818.24 Mb/s (DNS:4ms SYN:28ms GET:124ms Down:7875ms 805.45 MB T)
jpg IPv4 https 1194 : 820.50 Mb/s (DNS:4ms SYN:33ms GET:127ms Down:7872ms 807.37 MB T)
zip IPv4 http 6881 : 836.66 Mb/s (DNS:4ms SYN:26ms GET:8ms Down:7991ms 835.72 MB T)
jpg IPv4 http 6881 : 833.35 Mb/s (DNS:4ms SYN:32ms GET:9ms Down:7990ms 832.30 MB T)
zip IPv4 http 8080 : 788.43 Mb/s (DNS:4ms SYN:30ms GET:8ms Down:7990ms 787.44 MB T)
jpg IPv4 http 8080 : 807.19 Mb/s (DNS:4ms SYN:29ms GET:8ms Down:7991ms 806.28 MB T)
mp4 IPv4 http 8080 : 801.64 Mb/s (DNS:4ms SYN:31ms GET:7ms Down:7992ms 800.84 MB T)
zip IPv4 ftp 21 : 767.41 Mb/s (DNS:4ms SYN:29ms GET:62ms Down:7937ms 761.37 MB T)
jpg IPv4 ftp 21 : 795.68 Mb/s (DNS:4ms SYN:29ms GET:223ms Down:7776ms 773.40 MB T)
IPv6 download tests
IPv4 upload tests
IPv4 http 80 : 190.38 Mb/s (DNS:4ms SYN:29ms PUT:9ms Up:7990ms 190.14 MB T)
IPv4 https 443 : 190.78 Mb/s (DNS:4ms SYN:5ms PUT:133ms Up:7866ms 187.58 MB T)
IPv4 http 554 : 68.57 Mb/s (DNS:4ms SYN:4ms PUT:5ms Up:7992ms 68.50 MB T)
IPv4 https 1194 : 192.48 Mb/s (DNS:4ms SYN:5ms PUT:144ms Up:7855ms 188.99 MB T)
IPv4 http 6881 : 190.32 Mb/s (DNS:4ms SYN:5ms PUT:4ms Up:7995ms 190.20 MB T)
IPv4 http 8080 : 190.02 Mb/s (DNS:4ms SYN:5ms PUT:4ms Up:7994ms 189.88 MB T)
IPv4 ftp 21 : 192.43 Mb/s (DNS:4ms SYN:4ms PUT:54ms Up:7944ms 191.08 MB T)
IPv6 upload tests
Ended at: Fri May 6 17:00:06 2016
perl neutrality-test.pl https://raw.githubusercontent.com/kgersen/neutrality-test/master/multi-isp.txt
ca donne quoi avecCode: [Sélectionner]perl neutrality-test.pl https://raw.githubusercontent.com/kgersen/neutrality-test/master/multi-isp.txt
Running on linux - 4.3.5-300.fc23.x86_64 - x86_64-linux-thread-multi
Started at: Fri May 6 18:21:04 2016
Test various ISPs
Online intuxication Linux 3.2
IPv4 http 80 :error unhandled scheme code: 404
IPv4 ftp 21 :!!! curl error for GET 4 ftp://ipv4.intuxication.testdebit.info/5000Mo.dat 0 8 !!! RC = 7
Mediactive Network Linux 3.2
IPv4 http 80 : 703.80 Mb/s (DNS:4ms SYN:4ms GET:30ms Down:7969ms 701.07 MB T)
Ikoula Linux 4.2 (conf défaut)
IPv4 http 80 : 895.74 Mb/s (DNS:4ms SYN:27ms GET:8ms Down:7991ms 894.74 MB T)
Free Bezons
IPv4 http 80 : 836.43 Mb/s (DNS:4ms SYN:50ms GET:5ms Down:7994ms 835.80 MB T)
OVH Roubaix
IPv4 http 80 : 714.16 Mb/s (DNS:60ms SYN:9ms GET:9ms Down:7990ms 713.27 MB T)
OVH Strasbourg
IPv4 http 80 : 674.71 Mb/s (DNS:124ms SYN:10ms GET:11ms Down:7988ms 673.70 MB T)
OVH Beauharnois (Canada)
IPv4 http 80 : 114.32 Mb/s (DNS:124ms SYN:89ms GET:88ms Down:7900ms 112.89 MB T)
OTE (Greece)
IPv4 http 80 : 2.09 Mb/s (DNS:5514ms SYN:54ms GET:55ms Down:7935ms 2.07 MB T)
Internode (Australia)
IPv4 http 80 : 0.88 Mb/s (DNS:509ms SYN:321ms GET:320ms Down:7535ms 830.89 kB T)
Ended at: Fri May 6 18:22:08 2016
Running on linux - 4.3.5-300.fc23.x86_64 - x86_64-linux-thread-multi
Started at: Fri May 6 18:22:12 2016
Test various ISPs
Online intuxication Linux 3.2
IPv4 http 80 :error unhandled scheme code: 404
IPv4 ftp 21 :!!! curl error for GET 4 ftp://ipv4.intuxication.testdebit.info/5000Mo.dat 0 8 !!! RC = 7
Mediactive Network Linux 3.2
IPv4 http 80 : 825.26 Mb/s (DNS:4ms SYN:4ms GET:5ms Down:7993ms 824.54 MB T)
Ikoula Linux 4.2 (conf défaut)
IPv4 http 80 : 845.11 Mb/s (DNS:4ms SYN:20ms GET:9ms Down:7990ms 844.06 MB T)
Free Bezons
IPv4 http 80 : 889.99 Mb/s (DNS:4ms SYN:45ms GET:5ms Down:7994ms 889.32 MB T)
OVH Roubaix
IPv4 http 80 : 704.52 Mb/s (DNS:4ms SYN:32ms GET:8ms Down:7991ms 703.73 MB T)
OVH Strasbourg
IPv4 http 80 : 577.34 Mb/s (DNS:4ms SYN:40ms GET:10ms Down:7989ms 576.55 MB T)
OVH Beauharnois (Canada)
IPv4 http 80 : 124.80 Mb/s (DNS:4ms SYN:119ms GET:85ms Down:7870ms 122.77 MB T)
OTE (Greece)
IPv4 http 80 : 99.60 Mb/s (DNS:4ms SYN:1056ms GET:55ms Down:7930ms 98.73 MB T)
Internode (Australia)
IPv4 http 80 : 0.67 Mb/s (DNS:4ms SYN:329ms GET:320ms Down:7675ms 644.10 kB T)
Ended at: Fri May 6 18:23:16 2016
Il y a quelques erreurs FCS sur le port fibre de la NB6V, je ne sais pas si c'est un problème.
J'avais remarquer que le compteur de FCS bougeait uniquement quand on approchait le débit max en download. Si on maintenait un download a 400 Mbps ou 500 Mbps par exemple, il n'y avait pas d'erreurs FCS.Il n'y a pas tant d'erreurs que ça (2270 en 7h).
Des erreurs quand on approche le débit max peuvent donc influer fortement sur le comportement de TCP et expliquer ton probleme (on parle de plusieurs centaines/milliers d'erreurs sinon c'est pas significatif).
20/05/2016 0:42:28 Emission de 10 Mo vers 3.testdebit.info :
IPv4+TCP80 +http .zip: 19,920 Mb/s (DNS:16ms+SYN:16ms+POST:218ms+Up:4016ms)
IPv4+TCP80 +http .jpg: 19,960 Mb/s (DNS:16ms+SYN:15ms+POST:188ms+Up:4015ms)
[...]
IPv4+TCP8080+http .zip: 19,920 Mb/s (DNS:16ms+SYN:31ms+POST:188ms+Up:0ms)
IPv6+TCP80 +http .zip: 0,491 Mb/s (DNS:16ms+SYN:109ms+POST:219ms+Up:162906ms)
IPv6+TCP80 +http .jpg: 0,595 Mb/s (DNS:16ms+SYN:47ms+POST:218ms+Up:134250ms)
netsh int teredo set state disabled
14/02/2017 14:36:43 Téléchargement de 10 Mo depuis 3.testdebit.info :
IPv4+TCP80 +http .zip: 11,750 Mb/s (DNS:16ms+SYN:31ms+GET:31ms+Down:6813ms)
IPv4+TCP80 +http .jpg: 8,0 Mb/s (DNS:15ms+SYN:32ms+GET:31ms+Down:10000ms)
IPv4+TCP80 +http .mp4: 8,904 Mb/s (DNS:15ms+SYN:31ms+GET:32ms+Down:8984ms)
IPv4+TCP80 +http .pdf: 7,968 Mb/s (DNS:15ms+SYN:47ms+GET:32ms+Down:10046ms)
IPv4+TCP443 +https.zip: 10,330 Mb/s (DNS:31ms+SYN:31ms+GET:281ms+Down:7750ms)
IPv4+TCP443 +https.jpg: 11,235 Mb/s (DNS:16ms+SYN:31ms+GET:297ms+Down:7125ms)
IPv4+TCP554 +http .zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv4+TCP554 +http .jpg: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv4+TCP554 +http .mp4: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv4+TCP993 +https.zip: 0,0 Mb/s (DNS:31ms+SYN:-31ms+GET:0ms+Down:234ms)
IPv4+TCP993 +https.jpg: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv4+TCP1194+https.zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv4+TCP1194+https.jpg: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv4+TCP6881+http .zip: 0,0 Mb/s (DNS:15ms+SYN:-15ms+GET:0ms+Down:219ms)
IPv4+TCP6881+http .jpg: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv4+TCP8080+http .zip: 0,0 Mb/s (DNS:15ms+SYN:31ms+GET:32ms+Down:0ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv4+TCP8080+http .jpg: 0,0 Mb/s (DNS:16ms+SYN:47ms+GET:31ms+Down:0ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv4+TCP8080+http .mp4: 0,0 Mb/s (DNS:16ms+SYN:31ms+GET:31ms+Down:0ms)
IPv6+TCP80 +http .zip: 13,513 Mb/s (DNS:16ms+SYN:31ms+GET:31ms+Down:5922ms)
IPv6+TCP80 +http .jpg: 12,254 Mb/s (DNS:15ms+SYN:32ms+GET:31ms+Down:6531ms)
IPv6+TCP80 +http .mp4: 9,328 Mb/s (DNS:31ms+SYN:31ms+GET:31ms+Down:8578ms)
IPv6+TCP443 +https.zip: 13,888 Mb/s (DNS:16ms+SYN:31ms+GET:266ms+Down:5765ms)
IPv6+TCP554 +http .zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
IPv6+TCP1194+https.zip: 0,0 Mb/s (DNS:32ms+SYN:-32ms+GET:0ms+Down:235ms)
IPv6+TCP6881+http .zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+GET:0ms+Down:219ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv6+TCP8080+http .zip: 0,0 Mb/s (DNS:16ms+SYN:31ms+GET:31ms+Down:0ms)
14/02/2017 14:38:20 Emission de 1 Mo vers 3.testdebit.info :
IPv4+TCP80 +http .zip: 0,658 Mb/s (DNS:16ms+SYN:47ms+POST:141ms+Up:12156ms)
IPv4+TCP80 +http .jpg: 0,763 Mb/s (DNS:15ms+SYN:31ms+POST:172ms+Up:10485ms)
IPv4+TCP80 +http .mp4: 0,740 Mb/s (DNS:15ms+SYN:63ms+POST:156ms+Up:10813ms)
IPv4+TCP443 +https.zip: 0,742 Mb/s (DNS:16ms+SYN:31ms+POST:250ms+Up:10782ms)
IPv4+TCP554 +http .zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+POST:0ms+Up:219ms)
IPv4+TCP1194+https.zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+POST:0ms+Up:219ms)
IPv4+TCP6881+http .zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+POST:0ms+Up:219ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv4+TCP8080+http .zip: 0,0 Mb/s (DNS:16ms+SYN:31ms+POST:172ms+Up:0ms)
IPv6+TCP80 +http .zip: 0,836 Mb/s (DNS:16ms+SYN:31ms+POST:156ms+Up:9563ms)
IPv6+TCP80 +http .jpg: 0,838 Mb/s (DNS:16ms+SYN:31ms+POST:141ms+Up:9547ms)
IPv6+TCP80 +http .zip: 0,838 Mb/s (DNS:16ms+SYN:31ms+POST:157ms+Up:9546ms)
IPv6+TCP443 +https.zip: 0,835 Mb/s (DNS:31ms+SYN:16ms+POST:250ms+Up:9578ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv6+TCP554 +http .zip: 0,835 Mb/s (DNS:0ms+SYN:16ms+POST:-16ms+Up:0ms)
IPv6+TCP1194+https.zip: 0,0 Mb/s (DNS:16ms+SYN:-16ms+POST:0ms+Up:219ms)
Erreur de division par zéro.
Erreur de division par zéro.
IPv6+TCP6881+http .zip: 0,0 Mb/s (DNS:0ms+SYN:15ms+POST:-15ms+Up:0ms)
IPv6+TCP8080+http .zip: 0,0 Mb/s (DNS:0ms+SYN:16ms+POST:31ms+Up:172ms)
14/02/2017 14:39:54 Appuyez sur une touche pour quitter.
➜ ~ curl --version
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
Encore une bonne raison pour rager après la stupidité des distribs monolitiques comme Ubuntu.
sudo apt install curl -t yakkety
C'est vrai que le système de fichiers est protégé en écriture et qu'installer une version différente nécessite de réinstaller tout l'OS, sur un pied avec une pince à linge à chaque oreille en chantant des chants traditionnels scandinaves !
Après le pinning qui va bien :Code: [Sélectionner]sudo apt install curl -t yakkety
#!/usr/bin/env python3
import time
import signal
import subprocess
import sys
DOMAIN = 'testdebit.info'
SIZE_MB = 1000
cmd_template = 'curl -f -4 -o /dev/null {proto}://{host}:{port}/1G.iso'
protocols = ['http', 'https']
hosts = [
'bouygues.testdebit.info',
'k-net.testdebit.info',
'ikoula.testdebit.info',
'scaleway.testdebit.info',
]
ports = [53, 80, 443, 554, 843, 1935, 5060, 6881, 8080]
results = dict()
def cmd_took(cmd):
before = time.time()
print(cmd)
status, output = subprocess.getstatusoutput(cmd)
if status != 0:
print(f'Cmd failed: {output}')
return None
took = time.time() - before
return took
for proto in protocols:
for host in hosts:
for port in ports:
cmd = cmd_template.format(**locals())
took = cmd_took(cmd)
if took is not None:
bw = int(8 * SIZE_MB / took)
test_id = f'{proto}_{host}_{port}'
print(f'{test_id} bandwidth was {bw} Mbps')
results[test_id] = bw
for key, val in results.items():
print(f'{key}: {val} Mbps')
if __name__ == '__main__':
def signal_handler(sig, frame):
print('You pressed Ctrl+C!')
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
{
"extensions": [
"iso",
"mp4"
],
"files": [
"10M.{extension}",
"100M.{extension}"
],
"hosts": [
"bouygues.testdebit.info",
"k-net.testdebit.info"
],
"port_max": 9000,
"port_min": 1,
"protocols": [
"http",
"https"
]
}
#!/usr/bin/env python3
import subprocess
from statistics import mean
def measure_bw(url):
cmd = 'curl --fail --location --max-time 1 -4 -s --write-out "%{time_namelookup} %{time_connect} %{time_starttransfer} %{time_total} %{size_download}" -o /dev/null '
cmd += url
status, output = subprocess.getstatusoutput(cmd)
time_namelookup, time_connect, time_starttransfer, time_total, size_download = [float(x.replace(',', '.')) for x in output.split()]
took_transfer = time_total - time_starttransfer
bandwidth_bytes_per_sec = size_download / took_transfer
bandwidth_mbit_per_sec = bandwidth_bytes_per_sec * 8 / 1000000
return bandwidth_mbit_per_sec
def measure_bw_average(url, runs=3):
results = list()
for i in range(runs):
bw = measure_bw(url)
if bw:
results.append(bw)
return mean(results)
test_files = {
'bouygues': 'https://bouygues.testdebit.info/1G.iso',
'k-net': 'https://k-net.testdebit.info/1G.iso',
'ikoula': 'https://ikoula.testdebit.info/1G.iso',
'scaleway': 'https://scaleway.testdebit.info/1G.iso',
'ovh': 'http://www.ovh.net/files/1Gio.dat',
'aws us-east-1': 'https://github.com/balena-io/etcher/releases/download/v1.5.109/balena-etcher-electron_1.5.109_amd64.deb',
}
results = dict()
for host, url in test_files.items():
print(host, "%.1f Mbits/s" % measure_bw_average(url))
$ python test.py
bouygues 298.8 Mbits/s
k-net 280.9 Mbits/s
ikoula 287.1 Mbits/s
scaleway 298.8 Mbits/s
ovh 295.3 Mbits/s
aws us-east-1 26.4 Mbits/s