Auteur Sujet: Vous avez une connexion 10 Gb/s ? Aidez-moi à comparer les serveurs SpeedTest !  (Lu 29817 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 187
    • Twitter LaFibre.info
Vous avez une connexion 10 Gb/s ? Aidez-moi à comparer les serveurs SpeedTest.net !



C'est simple : un petit script va tester rapidement (uniquement le débit descendant et la latence) de tous les serveurs SpeedTest en France, Belgique, Luxembourg, Suisse et Andorre.
Les résultats médians seront agrégés afin de déterminer les serveurs les plus à même de tester les connexions 10 Gb/s via https://www.speedtest.net/
Je prévois de publier une première liste mardi 29 janvier

Quels sont les pré-requis pour participer ?

Il faut avoir :
- une connexion 10 Gb/s
- une carte réseau 10 Gb/s
- un processeur avec au minimum 4 cœurs
- au minimum 8 Go de RAM
- une distribution Linux récente : Ubuntu 18.04 LTS / Ubuntu 18.10 / Ubuntu 19.04 / Debian Buster 10 (testing) / Debian Sid (unstable) afin d'avoir SpeedTest-cli 2.0 min et un noyeau TCP/IP optimisé pour le 10Gb/s. Pour les utilisateurs de Windows, le plus simple est de créer une clé USB bootable avec Ubuntu 18.10. cf Réaliser le test avec une clé USB Bootable sans toucher à Windows

Le script utilisé est publié sur github : https://github.com/vivienfr/comp-speedtest n'hésitez pas à proposer des améliorations.




Comment faire ?

- Étape 1 : Démarrer un terminal. Le plus simple est d'appuyer sur la touche "Ctrl" + "Alt" +"T"

- Étape 2 : Télécharger le script : wget -O ./comp-speedtest.sh https://raw.githubusercontent.com/vivienfr/comp-speedtest/master/comp-speedtest.sh

- Étape 3 : Rendre le script exécutable : chmod +x ./comp-speedtest.sh

- Étape 4 : Installer speedtest-cli : sudo apt install speedtest-cli Votre mot de passe vous est demandé.

- Étape 5 : Lancer le test : ./comp-speedtest.sh



Quand c'est terminé, vous avez un fichier 20190129-2030-comp-speedtest.csv (il commence par la date et l'heure de début de test) que vous pouvez ouvrir avec LibreOffice Cal pour regarder les résultats.

Pour que j’agrège les résultats, merci de poster vos résultats sur ce sujet, quel que soit votre FAI.
Pour rajouter un fichier quand vous rédiger votre message sur le forum, cliquez sur "Ajouter des photos, fichiers joints et autres options…"
Le fichier apparaît à la fin de votre message, comme ici :
(connexion Mediactive Network sur Paris 1 Gb/s pour ce fichier de démo)

vivien

  • Administrateur
  • *
  • Messages: 47 187
    • Twitter LaFibre.info
Quand lancer ce test ?

- Il est intéressant d'avoir un ou deux (pas plus) lancement du test le soir, au moment où internet est le plus chargé, entre 20h30 et 23h00.

- Il est intéressant d'avoir un ou deux (pas plus) lancement du test la nuit ou le matin, au moment où internet est le moins chargé, entre 1h00 du matin et 9h00 du matin.

Dans mon tableau final, il y a aura une colonne pour les tests du soir et une pour les tests lancés le matin.
Je ne suis pas sur qu'il soit intéressant d'agréger les tests en journée (entre 10h00 et 19h00) mais si vous pensez que oui, je le ferais (merci d’argumenter)

Dans le fichier csv (comp-speedtest.csv), l'heure est au format GMT.

L'hiver quand il est 20h00 GMT, il est 21h00 à Paris.
Avec l'heure d'été, quand il est 20h00 GMT, il est 22h00 à Paris.

vivien

  • Administrateur
  • *
  • Messages: 47 187
    • Twitter LaFibre.info
Réaliser le test avec une clé USB Bootable sans toucher à Windows

Pour les utilisateurs de Windows, le plus simple est de créer une clé USB bootable avec Ubuntu 18.10 ou Ubuntu 18.04.
La clé USB bootable ne va pas utiliser votre disque dur: tout est installé en ram

- Étape 1 : Crée la clé USB en suivant les indications sur https://rufus.ie/

- Étape 2 : Démarrer votre ordinateur sur la clé USB crée (appuyer une touche de fonction immédiatement après l'avoir allumé, par exemple F12 pour un Dell). Dans le menu qui s'affiche, sélectionner la clé USB puis "Essayer Ubuntu sans l'installer" ou "Try Ubuntu without installing".

- Étape 3 : Une fois sous Ubuntu démarrez un terminal (Le plus simple est d'appuyer sur la touche "Ctrl" + "Alt" +"T") et ouvrez cette page sous Firefox pour pouvoir faire des copier / coller.

- Étape 4 : Le logiciel "speedtest-cli" est dans le dépôt "universe" qui n'est pas mis en place sur les live-usb.Pour activer le dépôt "universe", copier / coller ces lignes :

Télécharger les dépôts avec la commande sudo apt update

- Étape 5 : Installer speedtest-cli : sudo apt install speedtest-cli

- Étape 6 : Télécharger le script : wget -O ./comp-speedtest.sh https://raw.githubusercontent.com/vivienfr/comp-speedtest/master/comp-speedtest.sh

- Étape 7 : Rendre le script exécutable : chmod +x ./comp-speedtest.sh

- Étape 8 : Lancer le test : ./comp-speedtest.sh

willemijns

  • Abonné FreeMobile
  • *
  • Messages: 2 681
Installer speedtest-cli : sudo apt install speedtest-cli Votre mot de passe vous est demandé.

if [ ! -e /usr/bin/speedtest-cli ]; then
 sudo apt install speedtest-cli
fi

et tu dis "si speedtest-cli n'existe pas, il va l'installer mais faut taper son password"



vivien

  • Administrateur
  • *
  • Messages: 47 187
    • Twitter LaFibre.info
Tuto pour Debian 9 ou Ubuntu 16.04

if [ ! -e /usr/bin/speedtest-cli ]; then
 sudo apt install speedtest-cli
fi
Oui, le script pourrait l'installer, mais personnellement, j'aime bien les scripts qui ne demande pas le mot de passe pour passer en root.
J'aime bien les scripts très simple à comprendre.

Peut-être à faire pour le script qui sera lancé sur une clé usb : ajouter les dépôts universe automatiquement, lancer apt update et l'installation.

Pour ceux qui ont Debian 9 ou Ubuntu 16.04, les performances ne seront pas au niveau d'un Debian 10, les composant logiciels ayant plus de deux an d'age. Il ne faut pas installer speedtest-cli proposé dans les dépôts de Debian 9 / Ubuntu 16.04 mais installer speedtest-cli 2.x via pip :

sudo apt install python-pip
pip install speedtest-cli


Vous pouvez ensuite utiliser mon script.



(Capture d'écran proposée par Stanislas @fuolpit)

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
A défaut de voir arriver un jour la fibre chez moi, voici le Dockerfile pour faire tourner ce script sans avoir rien à installer sur son PC.

FROM debian:testing

RUN apt update && apt install -y speedtest-cli ca-certificates

ADD https://lafibre.info/testdebit/scripts/speedtest/comp-speedtest.sh /root
RUN chmod +x /root/comp-speedtest.sh

WORKDIR /root

CMD ["/bin/bash", "-c", "/root/comp-speedtest.sh && cat comp-speedtest.csv"]

Pour builder l'image : docker build -t comp-speedtest .
Pour runner : docker run --rm  comp-speedtest

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 449
  • Lyon (69) / St-Bernard (01)
    • Twitter
Et ton docker il chope comment internet ? Avec la stack NAT toute moche là ? Bon courage pour bench du 10G avec ça :-)

willemijns

  • Abonné FreeMobile
  • *
  • Messages: 2 681
j'ai crée un fichier texte nommé "comp-speedtest"

docker build -t comp-speedtest .
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /media/(...)/Dockerfile: no such file or directory

Bon cela doit pas être la bonne méthode  ;)



vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Si le Dockerfile ne s'appelle pas "Dockerfile", alors il faut utiliser la commande : docker build -t comp-speedtest -f Mon-fichier-docker .

Sinon, voici la référence de la commande : https://docs.docker.com/engine/reference/commandline/build/

vincent0

  • Abonné Orange adsl
  • *
  • Messages: 122
  • Montpellier
    • Twitter
Et ton docker il chope comment internet ? Avec la stack NAT toute moche là ? Bon courage pour bench du 10G avec ça :-)

Justement, je suis intéressé de voir l'overhead réseau que docker introduit dans ce genre de test - si une âme charitable veut bien faire le test avec et sans docker :)

Harvester

  • Abonné Free fibre
  • *
  • Messages: 345
  • Freebox Révolution - Limours (91)
    • Site perso
@Vivien : les bonnes pratiques pour le développement de script Bash recommandent un shebang se basant sur le binaire env, pour rendre le script portable. Plus spécifiquement : #!/usr/bin/env bash
Ainsi que l'usage de set -o errexit en début de script (même si dans ce cas précis le script n'est pas supposé modifier quelque chose sur le système, on est d'accord. C'est plutôt histoire de prendre l'habitude :))

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
on peut ajouter "--net=host" (ou utiliser le driver macvlan) pour éviter l'overhead du NAT de docker.