Le Mardi 19 Avril 2005 10:35, Alexis Bunel a écrit :
> Une idée comme ça. On pourrait proposer à l'utilisateur d'utiliser
> mirrorselect de gentoo qui permet de déterminer quel est le miroir le
> plus rapide. Il faudrait regarder le code du bouzin, mais ça devrait
> être adaptable.

C'est une très bonne suggestion ! :^)
J'ai regardé le code de mirrorselect (script bash). Il utilise netselect 
(http://www.worldvisions.ca/~apenwarr/netselect/). Cet utilitaire prend en 
paramètre une liste d'URLs de serveur et les teste en parallèle (voir le 
README pour voir la méthode utilisée). Le résultat est très précis, il y même 
le nombre de « sauts » nécessaires pour atteindre chaque serveur.

Mirrorselect dispose en plus d'une option pour faire faire un test 
supplémentaire qui consiste à télécharger un fichier donné sur chaque 
serveur. Le test est simple :

STIME=$(date +%s%N) # date avant téléchargement
# Lancement du téléchargement
wget -t 1 -C off -T 25 -O - ${i}/distfiles/mirrorselect-test 2>/dev/null
ETIME=$(date +%s%N) # date après téléchargement

Ensuite, la différence entre $ETIME et $STIME est calculée pour connaître le 
temps de téléchargement.

On peut voir que le fichier téléchargé est toujours le même 
(mirrorselect-test). En effet, mirrorselect est utilisé pour tester les 
mirroirs Gentoo, qui doivent tous disposer de ce fichier. Appliquer cette 
méthode aux serveurs de Sourceforge par exemple peut être plus délicat, car 
il faudrait trouver un fichier d'une taille raisonnable et qui sera toujours 
présent ...

++
Gontran



Répondre à