Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/10/2014, à 09:18

Gaara

Tester la vitesse de téléchargement de apt

Bonjour à tous,

Question 1:
J'aimerais savoir s'il est possible de tester la vitesse de téléchargement des paquets lorsqu'on fait un upgrade, et avoir un résultat en Ko/s.
C'est pour améliorer un script
J'ai essayé

ping -c 5 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/

Mais ça me renvoie

ping: unknown host http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/

Edit: si je fais

ping -c 5 fr.archive.ubuntu.com

ça fonctionne

Question 2:
Pour un ordinateur du réseau local (un RPi), ça fonctionne aussi, mais:

:~$ ping -c 5 192.168.2.2
PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.
64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=1.46 ms
64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=0.824 ms
64 bytes from 192.168.2.2: icmp_seq=3 ttl=64 time=0.790 ms
64 bytes from 192.168.2.2: icmp_seq=4 ttl=64 time=0.782 ms
64 bytes from 192.168.2.2: icmp_seq=5 ttl=64 time=0.797 ms

--- 192.168.2.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.782/0.931/1.466/0.270 ms

donc la vitesse serait de (64*5)bytes/3.998s, soit 80bytes/s
Mais quand je transfère des fichiers, la vitesse est de ~4Mo/s, en ssh

Ou est l'erreur ?

Merci

Dernière modification par Gaara (Le 19/10/2014, à 21:41)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#2 Le 18/10/2014, à 09:34

Gaara

Re : Tester la vitesse de téléchargement de apt

Un test sous cette forme fonctionne:

:~$ ping -c 5 bouyguestelecom.ubuntu.lafibre.info
PING bouyguestelecom.ubuntu.lafibre.info (89.84.127.52) 56(84) bytes of data.
64 bytes from 89.84.127.52: icmp_seq=1 ttl=52 time=29.2 ms
64 bytes from 89.84.127.52: icmp_seq=2 ttl=52 time=27.8 ms
64 bytes from 89.84.127.52: icmp_seq=3 ttl=52 time=28.4 ms
64 bytes from 89.84.127.52: icmp_seq=4 ttl=52 time=29.4 ms
64 bytes from 89.84.127.52: icmp_seq=5 ttl=52 time=28.9 ms

--- bouyguestelecom.ubuntu.lafibre.info ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 8096ms
rtt min/avg/max/mdev = 27.889/28.814/29.485/0.614 ms

Mais est-ce que c'est vraiment la vitesse de téléchargement ?

Dernière modification par Gaara (Le 18/10/2014, à 09:34)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#3 Le 18/10/2014, à 10:32

Brunod

Re : Tester la vitesse de téléchargement de apt

Non, c'est un ping simplement.
Essaie "iftop -n -i eth0"
sur une console pendant l'apt-get
wink


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#4 Le 18/10/2014, à 10:51

Gaara

Re : Tester la vitesse de téléchargement de apt

Merci de ta réponse, et désolé, je n'y connais vraiment rien en réseau. Un ping c'est juste le temps de réponse, c'est donc pas ce que je voudrais.
Le truc c'est j'aimerais avoir une valeur sans faire le apt-get upgrade, mais faire le test juste avant.

Pendant l'upgrade, j'ai bien une valeur, mais pour mon script elle arrive trop tard. La vitesse est calculée par apt, par exemple ici, le log d'une màj de mon script:

1 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 29,4 ko dans les archives.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://ppa.launchpad.net/yoggic/maj-auto/ubuntu/ trusty/main maj-auto-notify amd64 1.0.5~ubuntu14.04 [29,4 kB]
29,4 ko réceptionnés en 0s (137 ko/s)

En fait c'est pour calculer la vitesse d'avancement d'une barre de progression. (qui actuellement est fixe, mais c'est pas très réaliste)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#5 Le 18/10/2014, à 18:11

tiramiseb

Re : Tester la vitesse de téléchargement de apt

Salut,

Le seul moyen pour connaître la vitesse de téléchargement, c'est de télécharger. Ce n'est pas quelque chose de "prévisible" sans tester. D'ailleurs, la vitesse de téléchargement peut varier en cours de téléchargement, pour différentes raisons...

Hors ligne

#6 Le 18/10/2014, à 19:09

Gaara

Re : Tester la vitesse de téléchargement de apt

Ok, merci.
J'ai trouvé un début de solution sur cette page, il faudra que j'adapte mon code en fonction, car mon script n'effectue pas le téléchargement directement, il lit juste des logs.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#7 Le 18/10/2014, à 19:10

tiramiseb

Re : Tester la vitesse de téléchargement de apt

Et pourquoi ne pas te baser sur la barre de progression d'apt directement ?

Hors ligne

#8 Le 19/10/2014, à 14:35

Gaara

Re : Tester la vitesse de téléchargement de apt

Salut,
C'est vrai, mais elle n’apparaît pas dans le log.
J'ai bien la vitesse à la fin de réception de tous les paquets, par exemple ici (exemple du post #4)

29,4 ko réceptionnés en 0s (137 ko/s)

mais la vitesse de réception paquet par paquet n’apparaît pas.

En prenant un autre exemple avec plusieurs paquets:

Les paquets suivants seront mis à jour :
  dpluzz libmysqlclient18 maj-auto-notify mysql-client-core-5.5 mysql-common
  mysql-server-core-5.5 oracle-java8-installer
7 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 4 598 ko dans les archives.
Après cette opération, 22,5 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/ trusty-updates/main mysql-common all 5.5.40-0ubuntu0.14.04.1 [14,1 kB]
Réception de : 2 http://ppa.launchpad.net/webupd8team/java/ubuntu/ trusty/main oracle-java8-installer all 8u25+8u6arm-1~webupd8~1 [22,4 kB]
Réception de : 3 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/ trusty-updates/main libmysqlclient18 amd64 5.5.40-0ubuntu0.14.04.1 [598 kB]
Réception de : 4 http://ppa.launchpad.net/yoggic/dpluzz/ubuntu/ trusty/main dpluzz amd64 0.9.1~ubuntu14.04 [16,6 kB]
Réception de : 5 http://ppa.launchpad.net/yoggic/maj-auto/ubuntu/ trusty/main maj-auto-notify amd64 1.0.4.1~ubuntu14.04 [29,5 kB]
Réception de : 6 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/ trusty-updates/main mysql-client-core-5.5 amd64 5.5.40-0ubuntu0.14.04.1 [703 kB]
Réception de : 7 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/ trusty-updates/main mysql-server-core-5.5 amd64 5.5.40-0ubuntu0.14.04.1 [3 215 kB]
4 598 ko réceptionnés en 13s (334 ko/s)
Téléchargement achevé et dans le mode téléchargement uniquement

Normalement quand on fait un upgrade avec le terminal la vitesse est indiquée en temps réel, mais là, rien. (ce sont des mises à jour automatiques via unattended-upgrades)

Actuellement, le script récupère le nom du paquet à chaque nouvelle ligne, mais j'ai l'impression que la ligne ne s'écrit qu'une fois le paquet entièrement téléchargé. (je ne peux pas trop vérifier en temps réel)
Du coup, aucunes données pour le téléchargement en cours.
Donc je pensais faire autrement (regarder le transfert de eth0 ou wlan0), mais ça me parait compliqué, ne serait-ce que s'il y a un autre téléchargement en cours..

Dernière modification par Gaara (Le 19/10/2014, à 14:37)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#9 Le 19/10/2014, à 15:05

Rufus T. Firefly

Re : Tester la vitesse de téléchargement de apt

Je ne sais pas exactement le but de l'opération, mais à mon sens, il n'y a pas de solution. Comme le dit Tiramiseb, la vitesse change sans arrêt. On voit ça très bien dans l'installateur (mode texte) de debian : quand ça télécharge les paquets, il y a une barre d'avancement qui indique aussi le temps restant... Globalement il diminue, mais il n'arrête pas de fluctuer dans un sens ou dans l'autre. Qui plus est, quand plusieurs paquets de petite taille se suivent, il a plutôt tendance à augmenter. Probablement le temps d'exécution des requêtes, qui devient important par rapport au temps de téléchargement lui-même. Un peu comme le ping, qui donne surtout le temps qu'il faut pour établir la connexion et traiter la requête...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#10 Le 19/10/2014, à 15:41

Gaara

Re : Tester la vitesse de téléchargement de apt

Oui mais même si c'est une vitesse approximative, ça serait déjà bien. En fait c'est une notification pour indiquer les mises à jours automatiques (voir le lien dans ma signature)
En l'état actuel, la barre augmente à une vitesse fixe dès qu'un paquet est téléchargé (un peu en marche d'escalier), et le % augmente en fonction de la taille du paquet. C'est cette vitesse fixe que j'aimerais changer en vitesse variable. Mais bon, c'est peut-être pas faisable effectivement.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#11 Le 19/10/2014, à 16:55

Rufus T. Firefly

Re : Tester la vitesse de téléchargement de apt

La vitesse approximative, c'est entre 0 et le max que permet ta connexion. Je ne déconne pas. Je vois ça à chaque install de debian : le temps restant peut passer de 3 min à 20 min d'une seconde à l'autre, rester à 20 minutes pendant quelques secondes, baisser à 12, remonter, puis tomber à 2'50, puis remonter à 8... Ce n'est pas toujours aussi spectaculaire, bien sûr. Ça dépend de l'humeur du FAI, de la charge des serveurs et en définitive de l'heure à laquelle on procède, il me semble...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#12 Le 19/10/2014, à 17:13

Gaara

Re : Tester la vitesse de téléchargement de apt

Ouais, j'entend bien que c'est très aléatoire, mais peut-être que si le script mesure le temps du téléchargement du premier paquet, je pourrais en déduire une vitesse approximative, car je peux lire la taille en Ko (ou Mo) dudit paquet.
Et le calcul s'affinerait au fur et à mesure du téléchargement, pour qu'au final, il n'y ait pas beaucoup de temps entre les 100% et la fin du téléchargement. Je pense que ce serait la seule méthode "potable".
Le seul inconvénient est les différentes sources, entre les ppa et les dépôts officiels, le débit est différent je pense. Mais bon, comme je dis, ce serait une approximation, toujours mieux que mes 5%/s actuels tongue
J'avais cette idée en tête depuis longtemps, mais je demandais pour savoir s'il n'y avait pas mieux, ou plus simple.

Dernière modification par Gaara (Le 19/10/2014, à 17:13)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#13 Le 19/10/2014, à 17:28

Rufus T. Firefly

Re : Tester la vitesse de téléchargement de apt

Gaara a écrit :

Ouais, j'entend bien que c'est très aléatoire, mais peut-être que si le script mesure le temps du téléchargement du premier paquet, je pourrais en déduire une vitesse approximative, car je peux lire la taille en Ko (ou Mo) dudit paquet..

Je pense que l'installateur de debian mesure le temps écoulé et la taille déjà téléchargée. Connaissant la taille totale à télécharger, il en déduit le temps restant... Avec les résultats exposés plus haut... Franchement, je ne vois pas comment on pourrait faire mieux...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#14 Le 19/10/2014, à 17:37

Gaara

Re : Tester la vitesse de téléchargement de apt

D'accord, mais le log s'écrit au fur et à mesure de la màj, donc au départ je n'ai que

Les paquets suivants seront mis à jour :
  dpluzz libmysqlclient18 maj-auto-notify mysql-client-core-5.5 mysql-common
  mysql-server-core-5.5 oracle-java8-installer
7 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 4 598 ko dans les archives.
Après cette opération, 22,5 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://bouyguestelecom.ubuntu.lafibre.info/ubuntu/ trusty-updates/main mysql-common all 5.5.40-0ubuntu0.14.04.1 [14,1 kB]

(enfin ça dépend la taille du premier paquet bien sûr)
Donc je dois faire avec ça, et uniquement ça, car les lignes suivantes s'écrivent après, mais à ce moment là, la notification est déjà active, et la barre à commencé à avancer.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#15 Le 19/10/2014, à 20:43

tiramiseb

Re : Tester la vitesse de téléchargement de apt

C'est vrai, mais elle n’apparaît pas dans le log.

Pourquoi nécessairement utiliser le log ?
Ne peux-tu pas t'appuyer sur le retour de la commande ?

Hors ligne

#16 Le 19/10/2014, à 21:03

Gaara

Re : Tester la vitesse de téléchargement de apt

Ce n'est pas vraiment la commande apt-get upgrade (du moins pas directement): c'est le log d'unattende-upgrades qui par défaut, envoie un mail pour prévenir que tout est ok (ou pas).
Le mail ne m'intéressant pas, j'ai commencé à écrire un programme pour avoir une notification, avec une barre de progression lors des màj. J'ai donc configuré les fichiers 10periodic et 20auto-upgrades (dans /etc/apt/apt.conf.d) sur
APT::Periodic::Verbose "4";
le plus haut level. (mon programme l'active automatiquement lors de l'activation)

Donc, unattended-upgrades utilise un autre script d'apt, qui est dans /etc/cron.daily/apt et je ne sais pas s'il y a la progression de prévue, comme la commande classique du terminal. Et mon niveau en bash/sh ne me permet pas de modifier ce script, à part l'appel de la notification. Je dois donc me débrouiller avec mes petits moyens !


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#17 Le 19/10/2014, à 21:11

tiramiseb

Re : Tester la vitesse de téléchargement de apt

Je ne comprends pas ce que tu cherches à faire précisément...

Hors ligne

#18 Le 19/10/2014, à 21:23

Gaara

Re : Tester la vitesse de téléchargement de apt

Ben... Je cherche un moyen de trouver la vitesse de téléchargement des paquets lorsque /etc/cron.daily/apt fait les mises à jour


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#19 Le 19/10/2014, à 21:28

tiramiseb

Re : Tester la vitesse de téléchargement de apt

C'est peut-être une question conne, mais... pourquoi ?

Hors ligne

#20 Le 19/10/2014, à 21:31

Gaara

Re : Tester la vitesse de téléchargement de apt

Pour ça: http://forum.ubuntu-fr.org/viewtopic.ph … #p16125511
Mais si c'est pas possible, c'est pas grave, hein wink


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#21 Le 19/10/2014, à 21:39

tiramiseb

Re : Tester la vitesse de téléchargement de apt

OK je vois. Alors sans changer la façon d'appeler apt, je n'arrive pas à voir comment tu pourrais le faire... désolé hmm

Hors ligne

#22 Le 19/10/2014, à 21:47

Gaara

Re : Tester la vitesse de téléchargement de apt

Je viens de modifier le titre de ma question, qui pouvait porter à confusion.
C'est clair que je me suis embarqué dans un truc pas évident, mais je pense peut-être avoir une solution que j'explique au post #12.
Et j'ai moi-même quelques difficultés à tout capter dans le fonctionnement d'unattended, donc c'est pas évident d'expliquer à d'autres !

Bref, c'est pas grave, je vais me débrouiller.
Si j'étais dev pro, je m'attaquerais à réécrire /etc/cron.daily/apt, mais ce n'est pas le cas. Donc je me contente de lire le log et de tirer le max d'informations que je peux en tirer.

Merci quand même smile


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#23 Le 19/10/2014, à 21:51

tiramiseb

Re : Tester la vitesse de téléchargement de apt

je pense peut-être avoir une solution que j'explique au post #12

C'est effectivement une approche intéressante, un bon compromis je trouve... Mieux que de l'aléatoire...

Hors ligne

#24 Le 21/10/2014, à 18:14

Gaara

Re : Tester la vitesse de téléchargement de apt

Bon, ma solution n'a rien donné, car je ne suis pas synchro entre le téléchargement et la lecture du log.

Mais j'ai trouvé une autre solution, car le script utilise bien la commande "apt-get":
Extrait du code de /etc/cron.daily/apt :

[...]
# download all upgradeable packages (if it is requested)
DOWNLOAD_UPGRADEABLE_STAMP=/var/lib/apt/periodic/download-upgradeable-stamp
if [ $UPDATED -eq 1 ] && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then
    if [ $Debdelta -eq 1 ]; then
        debdelta-upgrade >/dev/null 2>&1 || true
    fi
    if  eval unbuffer apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR; then                   # j'ai ajouté unbuffer ici pour récupérer les %
	update_stamp $DOWNLOAD_UPGRADEABLE_STAMP   
	debug_echo "download upgradable (success)"
    else
	debug_echo "download upgradable (error)"
    fi
else
    debug_echo "download upgradable (not run)"
fi
[...]

Donc, j'ai trouvé une solution pour récupérer la sortie qui ne sort pas dans le log, par exemple le téléchargement de firefox:

51% [1 firefox 18,4 MB/35,8 MB 51%]

Il faut utiliser unbuffer pour l'écrire dans le log.
Ce petit essai a fonctionné:

#! /bin/bash
exec >/home/gaara/scripts/apt-install-firefox.log 2>&1
unbuffer apt-get install --reinstall firefox

Et le log contient bien les pourcentages, ligne par ligne.
Ça fait un gros log, mais bon... c'est mieux que rien. Reste à l'interpréter.

Note: unbuffer requiers les paquets expect-dev (que je viens d'installer) et coreutils (que j'avais déjà)

Dernière modification par Gaara (Le 21/10/2014, à 18:16)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne