La Fibre
Télécom => Réseau => Comment tester son débit ? => Discussion démarrée par: BadMax le 13 février 2014 à 13:35:18
-
En voulant optimiser mon outil de test Internet, j'ai supprimé l'enregistrement sur disque local des données téléchargées en remplaçant par /dev/null.
L'outil mesure le délai d'exécution totale de wget.
Et bien avec /dev/null, la durée d'exécution est plus lente que sur disque.
Rappel de la commande (toute simple!):
${WGET_BIN}/wget ${_login} ${_ssl} -U "${_useragt}" ${_special} -o ${TMP_REP}/wget.result.${_site_alias} -p ${_site} -P ${TMP_REP}/cache 2>>${TMP_REP}/wget.errors
Les options ${_login} et ${_special} sont inactives. Si j'ajoute '-O /dev/null' après l'option '-o', l'exécution est plus lente.
-
Je n'ai jamais constaté ce phénomène...
Un fichier de 1 Go se télécharge en 0,3 seconde en local (il faudrait un fichier plus gros pour monter en débit) :
$ wget -O /dev/null http://1.testdebit.info/fichiers/1000Mo.dat
--2014-02-13 13:38:57-- http://1.testdebit.info/fichiers/1000Mo.dat
Résolution de testdebit.info (testdebit.info)... 89.84.127.54
Connexion vers testdebit.info (testdebit.info)|89.84.127.54|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Taille : 1000000000 (954M) [application/x-ns-proxy-autoconfig]
Enregistre : «/dev/null»
100%[====================================>] 1 000 000 000 3,07GB/s ds 0,3s
2014-02-13 13:38:58 (3,07 GB/s) - «/dev/null» enregistré [1000000000/1000000000]
-
C'est quoi comme disque?
-
Un disque IDE de 40Go...
-
Formaté comment?
-
Ah pardon, ext3
-
Quel type de journalisation? Complète, métadonnées?
Journal sur le disque?
-
ext3 par défaut si tu veux.
Attention la taille des données écrites est ridicule on parle du chargement d'une page web avec enregistrement sur disque.
-
Tu sync bien à la fin?
-
Non.
-
Donc tu écris dans le cache, pas sur le disque!
-
Le cache plus lent que /dev/null ? :P
-
Pourtant l'écriture dans /dev/null est assez simple :
590 static ssize_t write_null(struct file *file, const char __user *buf,
591 size_t count, loff_t *ppos)
592 {
593 return count;
594 }
drivers/char/mem.c (http://lxr.free-electrons.com/source/drivers/char/mem.c#L590)