Auteur Sujet: Scripts pour tester son débit avec des ping différents  (Lu 21145 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« le: 31 janvier 2012 à 22:44:04 »
Scripts pour tester son débit avec des ping différents

Afin de réaliser des tests de débit complets en simulant différentes latence (ping), j'ai crée des scripts qui automatise les choses.

Ces scripts permettent de réaliser pour différentes valeur du ping un téléchargement d'un fichier de 10 Giga bit (1,2 Go) optimisé FTTH et un autre optimisé Câble.


Un exemple pour expliquer l'utilité de ces tests de débit :

Voici le premier test réalisé par mes scripts : ping de +0ms, c'est a dire un téléchargement habituel sur https://testdebit.info

1ère ligne : Le ping moyen pour joindre le serveur est de 7,3ms pour le serveur testdebit.info depuis la connexion FTTH N°1 et 7,0ms avec la connexion N°2

2ème ligne : C'est le débit de téléchargement du fichier http://1.testdebit.info/fichiers/1000Mo.dat (optimisé FTTH)

3ème ligne : C'est le débit de téléchargement du fichier http://bouygues.testdebit.info/fichiers/1000Mo.dat (optimisé pour le câble)

Liaison FTTH 100 Mb/s N° 1 :
----------- Test avec ping de + 0ms -------------------
rtt min/avg/max/mdev = 7.064/7.347/8.414/0.342 ms, ipg/ewma 8.907/7.374 ms
2012-01-31 21:31:52 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 21:33:38 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]


Liaison FTTH 100 Mb/s N° 2 :
----------- Test avec ping de + 0ms -------------------
rtt min/avg/max/mdev = 6.181/7.007/10.000/0.969 ms, ipg/ewma 20.235/7.194 ms
2012-01-31 20:36:54 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 20:38:41 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]


Avec un ping normal, les deux connexions FTTH téléchargement sur les deux serveurs à 11,2 Mo/s ce qui correspond à 100 Mb/s. (Un fichier pour la conversion en Mb/s est disponible ici)

L’intérêt de ces script est faire un test de débit dans des conditions moins favorable, quand le serveur n'est pas a coté de chez vous. De nombreux serveurs ne sont pas en France, ni même en Europe mais aux USA, ce qui rajoute 100ms de ping...

Voici la suite des tests, avec une simultaiotn de ping plus élevé (+10ms par rapport au test précédent) :

On remarque que le débit chute beaucoup plus fortement sur la seconde connexion FTTH vers le premier serveur :

Liaison FTTH 100 Mb/s N° 1 :
----------- Test avec ping de + 10ms -------------------
rtt min/avg/max/mdev = 16.996/17.207/19.207/0.376 ms, pipe 2, ipg/ewma 17.211/17.147 ms
2012-01-31 22:08:05 (9,36 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 22:09:52 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]


Liaison FTTH 100 Mb/s N° 2 :
----------- Test avec ping de + 10ms -------------------
rtt min/avg/max/mdev = 15.369/17.402/21.412/1.310 ms, pipe 2, ipg/ewma 35.152/17.703 ms
2012-01-31 21:18:27 (3,11 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 21:20:14 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]


Certains type de connexion vont garder jusqu'à un ping trés important le débit max vers les deux serveurs.
D'autres avoir un débit qui va chuter sur un serveur et pas l'autre ou les deux vont chuter ensemble rapidement.

Il est possible d'avoir le débit maximum avec des ping important : Exemple avec une 3ème liaison FTTH :
----------- Test avec ping de + 21ms -------------------
rtt min/avg/max/mdev = 24.969/25.131/27.264/0.317 ms, pipe 2, ipg/ewma 25.168/25.127 ms
2012-01-31 22:37:09 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 22:38:56 (11,2 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« Réponse #1 le: 31 janvier 2012 à 22:44:41 »
Que fait-il pour faire tourner ces scirpts ?

Ces scripts sont fait pour Linux. Je n'ai pas réussi à les adapter pour Windows mais les utilisateurs Windows peuvent installer temporairement un linux Ubuntu comme une simple application Windows avec Wubi.

J'ai testés ces scripts sous Linux Ubuntu mais ils devraient fonctionner parfaitement sous les autres linux sans installer le moindre programme : seules les commandes de base sont utilisées.

Le script doit nécessairement être démarré avec les privilèges root pour pouvoir simuler une latence. SI vous utilisez les lignes de commande ci-dessous, votre mot de passe vous sera demandé au moment de l’exécution. Ces scripts ne font que quelques lignes et sont lisibles par tous, n'hésitez pas a regarder et adapter le code à vos besoins.

Un fichier résultat est disponible (.txt) dans le dossier ou vous avez téléchargé le script (.sh).


Téléchargement des scripts

Il suffit de faire un copier / coller des la ligne en bleu dans un terminal pour démarrer le téléchargement puis l’exécution du script.

Script 1 - Démo : Peu fiable, il permet de montrer en quelques minutes comment se déroule le test. Réalise un test avec un petit fichier (12 Mo) avec un ping +0ms +2ms +5ms +10ms +15ms +20ms +30ms +50ms +70ms +100ms +150ms.
wget -O test_debit_ping.sh https://lafibre.info/testdebit/test_debit_ping_1_demo.sh ; chmod +x test_debit_ping.sh ; sudo ./test_debit_ping.sh

Script 2 - Test express : Nécessite une heure pour s'excuter sur une connexion 100 Mb/s. Réalise un test avec un fichier de grande taille (1,2 Go) avec un ping +0ms +2ms +5ms +10ms +15ms +20ms +30ms +50ms +70ms +100ms +150ms.
wget -O test_debit_ping.sh https://lafibre.info/testdebit/test_debit_ping_2_express.sh ; chmod +x test_debit_ping.sh ; sudo ./test_debit_ping.sh

Script 3 - Test standard : Nécessite plusieurs heures. Réalise un test avec un fichier de grande taille (1,2 Go) avec un ping +0ms +1ms +2ms +3ms +5ms +7ms +10ms +12ms +15ms +17ms +20ms +25ms +30ms +40ms +50ms +60ms +70ms +80ms +100ms +150ms
wget -O test_debit_ping.sh https://lafibre.info/testdebit/test_debit_ping_3_standard.sh ; chmod +x test_debit_ping.sh ; sudo ./test_debit_ping.sh

Script 4 - Test ultra complet : Nécessite une nuit entière. Réalise un test avec un fichier de grande taille (1,2 Go) avec un ping de 1ms en 1ms de 0 à 30ms puis de 2ms en 2ms de 32 à 70ms, de 5ms en 5ms de 75 à 100ms et le test termine par un test +100ms +110ms +120ms +130ms +150ms
wget -O test_debit_ping.sh https://lafibre.info/testdebit/test_debit_ping_4_complet.sh ; chmod +x test_debit_ping.sh ; sudo ./test_debit_ping.sh

Script 5 - Test maximum : Nécessite une journée entière ! Réalise un test avec un fichier de grande taille (1,2 Go) avec un ping de 1ms en 1ms de 0 à 80ms puis de 2ms en 2ms de 82 à 100ms et de 5ms en 5ms de 105 à 150ms.
wget -O test_debit_ping.sh https://lafibre.info/testdebit/test_debit_ping_5_maxi.sh ; chmod +x test_debit_ping.sh ; sudo ./test_debit_ping.sh

N'hésitez pas à me donner vos résultats pour analyse ou vos suggestions pour améliorer ce script !

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #2 le: 31 janvier 2012 à 23:37:52 »
wget -O /dev/null http://1.testdebit.info/fichiers/100Mb.dat -o /tmp/test_debit_ping.tmp

Si le fichier existe, quel est comportement de wget?

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Scripts pour tester son débit avec des ping différents
« Réponse #3 le: 31 janvier 2012 à 23:41:49 »
Bah dis donc, l'indentation c'est pas ton truc Vivien :p

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« Réponse #4 le: 01 février 2012 à 07:08:00 »
Voici le résultat du test express sur une Bbox 30 Mb/s :

==========> DEBUT DU SCRIPT
----------- Test avec ping de + 0ms -------------------
rtt min/avg/max/mdev = 5.708/10.800/26.271/4.122 ms, pipe 3, ipg/ewma 5044.481/9.727 ms
2012-01-31 23:03:22 (3,32 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 23:09:17 (3,36 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 2ms -------------------
rtt min/avg/max/mdev = 8.329/13.146/26.284/3.559 ms, pipe 2, ipg/ewma 5046.769/13.968 ms
2012-01-31 23:19:16 (3,44 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 23:25:02 (3,45 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 5ms -------------------
rtt min/avg/max/mdev = 11.403/14.702/26.085/2.579 ms, pipe 2, ipg/ewma 5054.092/14.292 ms
2012-01-31 23:34:58 (3,43 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 23:40:44 (3,45 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 10ms -------------------
rtt min/avg/max/mdev = 16.575/20.554/34.395/3.652 ms, pipe 2, ipg/ewma 4958.240/19.891 ms
2012-01-31 23:51:44 (2,89 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-01-31 23:57:51 (3,25 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 15ms -------------------
rtt min/avg/max/mdev = 21.675/24.755/33.570/2.322 ms, pipe 2, ipg/ewma 5070.469/24.434 ms
2012-02-01 00:07:57 (3,33 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 00:13:44 (3,44 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 20ms -------------------
rtt min/avg/max/mdev = 26.461/29.626/44.833/3.163 ms, pipe 2, ipg/ewma 4974.641/28.867 ms
2012-02-01 00:24:03 (3,23 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 00:29:49 (3,44 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 30ms -------------------
rtt min/avg/max/mdev = 36.812/40.190/55.356/4.027 ms, pipe 2, ipg/ewma 5097.589/40.306 ms
2012-02-01 00:46:35 (1,58 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 00:52:33 (3,34 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 50ms -------------------
rtt min/avg/max/mdev = 56.827/59.543/77.895/3.498 ms, pipe 2, ipg/ewma 5133.000/58.557 ms
2012-02-01 01:16:32 (1,00 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 01:22:20 (3,43 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 70ms -------------------
rtt min/avg/max/mdev = 75.785/79.459/88.947/2.160 ms, pipe 2, ipg/ewma 5164.213/80.815 ms
2012-02-01 01:53:38 (754 KB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 01:59:33 (3,36 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 100ms -------------------
rtt min/avg/max/mdev = 107.156/110.536/128.407/4.666 ms, pipe 2, ipg/ewma 5217.235/111.307 ms
2012-02-01 02:40:28 (555 KB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 02:46:17 (3,42 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
----------- Test avec ping de + 150ms -------------------
rtt min/avg/max/mdev = 155.712/159.171/167.608/2.450 ms, pipe 2, ipg/ewma 5307.395/158.559 ms
2012-02-01 03:43:01 (388 KB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
2012-02-01 03:48:56 (3,36 MB/s) - «/dev/null» sauvegardé [1250000000/1250000000]
==========> FIN DU SCRIPT  -  http://LaFibre.info

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« Réponse #5 le: 01 février 2012 à 07:17:39 »
@cali : oui je n'ai pas indexé mais le code fait 15 lignes avec les commentaires :D

@corrector : si le fichier /tmp/test_debit_ping.tmp existe, il est effacé. C'est notamment le cas lors du 2ème wget.

DrGeek

  • Abonné Free Pro
  • *
  • Messages: 197
  • Jarnioux (69)
Scripts pour tester son débit avec des ping différents
« Réponse #6 le: 01 février 2012 à 09:54:14 »
Juste en mode "demo" avec la FTTLA de Bouygues/NC en 100Mbits :

==========> DEBUT DU SCRIPT
----------- Test avec ping de + 0ms -------------------
rtt min/avg/max/mdev = 9.723/10.469/11.272/0.549 ms, ipg/ewma 10178.426/10.445 ms
2012-02-01 09:35:02 (9,71 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:35:03 (9,82 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 2ms -------------------
rtt min/avg/max/mdev = 11.705/13.928/14.693/1.132 ms, ipg/ewma 10026.223/14.112 ms
2012-02-01 09:35:52 (3,64 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:35:53 (9,46 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 5ms -------------------
rtt min/avg/max/mdev = 14.511/17.232/19.111/1.651 ms, ipg/ewma 10031.677/16.769 ms
2012-02-01 09:36:42 (3,20 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:36:43 (8,95 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 10ms -------------------
rtt min/avg/max/mdev = 20.781/21.910/23.816/1.139 ms, ipg/ewma 10036.677/21.401 ms
2012-02-01 09:37:34 (2,37 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:37:35 (8,02 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 15ms -------------------
rtt min/avg/max/mdev = 25.134/26.547/27.831/0.886 ms, ipg/ewma 10039.923/25.884 ms
2012-02-01 09:38:26 (2,05 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:38:28 (7,14 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 20ms -------------------
rtt min/avg/max/mdev = 30.460/33.560/41.165/3.938 ms, pipe 2, ipg/ewma 7543.003/32.919 ms
2012-02-01 09:39:20 (1,76 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:39:22 (6,43 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 30ms -------------------
rtt min/avg/max/mdev = 40.382/42.834/48.228/2.874 ms, pipe 2, ipg/ewma 10048.093/41.555 ms
2012-02-01 09:40:16 (1,35 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:40:19 (5,47 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 50ms -------------------
rtt min/avg/max/mdev = 59.470/63.212/71.119/4.101 ms, pipe 2, ipg/ewma 10061.453/62.026 ms
2012-02-01 09:41:17 (979 KB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:41:20 (3,89 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 70ms -------------------
rtt min/avg/max/mdev = 80.032/82.017/83.190/1.136 ms, ipg/ewma 10096.321/82.336 ms
2012-02-01 09:42:21 (775 KB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:42:25 (3,37 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 100ms -------------------
rtt min/avg/max/mdev = 110.259/112.732/117.768/2.754 ms, pipe 2, ipg/ewma 10097.355/111.773 ms
2012-02-01 09:43:33 (545 KB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:43:38 (2,39 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
----------- Test avec ping de + 150ms -------------------
rtt min/avg/max/mdev = 160.215/162.180/166.008/2.079 ms, ipg/ewma 10174.108/161.808 ms
2012-02-01 09:44:56 (387 KB/s) - « /dev/null » sauvegardé [12500000/12500000]
2012-02-01 09:45:02 (2,10 MB/s) - « /dev/null » sauvegardé [12500000/12500000]
==========> FIN DU SCRIPT  -  http://LaFibre.info

Pour les gens qui aime les scripts plus "verbeux" (à adapter) :
(wget -O /dev/null http://1.testdebit.info/fichiers/100Mb.dat --progress=bar:force 2>&1 1>&3) 3>&2 | tee /tmp/test_debit_ping.tmpCela permet d'avoir la barre de téléchargement de wget, sans que cela gène l'execution/résultat du script.

Et enfin (le meilleur pour la fin) pour que le script s'execute bcp plus vite (correction bug) :
-q -n | grep "avg/max" >> test_debit_ping.txtIl faut mettre le paramètre -n à la commande ping car sinon délai important (10 à 20 secondes) à chaque execution car ReverseDNS impossible.

Voilà  ;)

Merci vivien  :D
« Modifié: 01 février 2012 à 10:42:28 par OmBreNoiRe »

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #7 le: 01 février 2012 à 14:28:17 »
@corrector : si le fichier /tmp/test_debit_ping.tmp existe, il est effacé. C'est notamment le cas lors du 2ème wget.
Effacé comme par rm, ou écrasé?

DrGeek

  • Abonné Free Pro
  • *
  • Messages: 197
  • Jarnioux (69)
Scripts pour tester son débit avec des ping différents
« Réponse #8 le: 01 février 2012 à 14:32:57 »
Effacé comme par rm, ou écrasé?

Il est créé par la 1ère commande wget, puis écraser à chaque wget puis effacer par un rm à la fin du script.
Si tu connais la commande rm... Tu connais aussi nano/emacs/vi/cat ? En ouvrant le script tu aurais eu la réponse...
« Modifié: 01 février 2012 à 15:41:28 par OmBreNoiRe »

corrector

  • Invité
Scripts pour tester son débit avec des ping différents
« Réponse #9 le: 01 février 2012 à 14:59:05 »
Il est créé par la commande wget, puis écraser à chaque wget
Tu dis que wget écrase, et ne supprime pas le fichier?

C'est grave.

DrGeek

  • Abonné Free Pro
  • *
  • Messages: 197
  • Jarnioux (69)
Scripts pour tester son débit avec des ping différents
« Réponse #10 le: 01 février 2012 à 15:33:01 »
Tu dis que wget écrase, et ne supprime pas le fichier?

C'est grave.

Je comprends pas ce qui te pose problème  :o ?

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Scripts pour tester son débit avec des ping différents
« Réponse #11 le: 01 février 2012 à 20:22:57 »
Merci !

Et enfin (le meilleur pour la fin) pour que le script s'execute bcp plus vite (correction bug) :
-q -n | grep "avg/max" >> test_debit_ping.txtIl faut mettre le paramètre -n à la commande ping car sinon délai important (10 à 20 secondes) à chaque execution car ReverseDNS impossible.

J'ai rajouté -n sur les scripts.
A noter que le gain de temps ne concernent pas tous les FAI (il faut que je regarde mais on dirait que il y a un bug sur la Bbox sur le reverse DNS)