Bonjour à tous,
Je me permets d'ouvrir un post car je sais qu'il y a pas mal de connaisseurs/bidouilleurs sur le forum.
J'aimerai savoir s'il existe un moyen d'automatiser des tests de débit (speedtest par exemple) depuis un Nas Synology ou un Raspberry pi.
En vous remerciant par avance pour vos idées :)
Raspberry pi :
wget -O /dev/null http://debit.k-net.fr/4700Mo (http://debit.k-net.fr/4700Mo)
Ça va télécharger le fichier dans le vide et tu auras ta vitesse, tu peux récupérer avec un "grep" ou un petit script.
Que veux-tu dire par "automatiser" ? En lancer régulièrement pour faire des statistiques, ou en lancer facilement ?
Ne pas abuser non plus en lançant un test par minute. Pour dégrader le réseau y'a pas mieux.
Non je ne veux pas en lancer toutes les minutes, mais une fois par jour par exemple...
Si possible sans avoir à "lancer à la main" un script mais en le programmant pour qu'il se lance tout seul tous les jours à une heure donnée.
Idéalement, il faudrait que le résultat soit loggué quelque part.
Je ne m'y connais pas vraiment dans ce domaine; tout ce que je peux dire c'est que j'ai la distribution OpenElec sur mon Raspberry...
Je ne sais pas si je peux y installer un script en plus ou s'il faut obligatoirement qu'il soit disponible comme "extension" dans le catalogue des extensions compatibles XBMC...
J'ai bien trouvé comment faire quelques tests de débit sur le Synology en installant Speedtest dessus:
Télécharger et installer Speedtest:
wget -O speedtest-cli [url]https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py[/url]
chmod +x speedtest-cli
Lancer le test:
/usr/local/python/bin/python speedtest-cli
Mais les résultats ne sont pas fameux; surtout pour le ping (je pense que le NAS ne doit pas être assez puissant ou trop chargé...):
(http://www.speedtest.net/result/3573039960.png)
Faut que j'essaye la même chose sur le Raspberry pi pour voir ce que ça donne...
Après il me faudra trouver le moyen d'automatiser tout ça pour ne pas à avoir à le lancer manuellement à chaque fois...
Une tache cron.
Oui, j'y avais pensé; mais il faut trouver le moyen de catcher les résultats dans une log aussi.
Faut donc écrire un petit script qui fait ça je pense (c'est pas trop mon fort mais je vais tenter de faire ça).
J'attends juste de voir si les débits sont meilleurs depuis mon Raspberry (jpeux pas tester du boulot; je l'ai pas allumé ce matin).
Tu peux faire Macommande >> monfichierlog.txt
Super, ça marche !
Merci à toi :)
Il ne me reste plus qu'à tester sur mon Raspberry pour voir si les débits sont plus concluants.
Vu que tu as l'air de t'y connaître TiTi, j'en profite pour te poser une question.
Lorsque je lance la commande (/usr/local/python/bin/python speedtest-cli) à la main depuis le répertoire "root" tout fonctionne.
En revanche, si je suis dans un autre répertoire (à la racine par exemple) et que je lance la même commande, il me met un message d'erreur: Can't open file 'speedtest-cli': [Errno 2] No such file or directory
As-tu une idée pourquoi ?
speedtest-cli est le nom du fichier à interpréter
Tu dois donc donner le chemin relatif (en fonction de l'endroit où tu es) ou le chemin absolu (valide quelque soit ta position dans le système de fichier)
Dans ton cas, tu devrais remplacer speedtest-cli par le chemin absolu (/machin/truc/speedtest-cli)
Merci pour les explications.
En rajoutant /root/ (l'emplacement du script), ça fonctionne :)
/usr/local/python/bin/python /root/speedtest-cli
Bon c'est pas gagné sur un Raspberry, le débit est vraiment catastrophique !
(http://www.speedtest.net/result/3574118688.png)
Le même test juste après sur le Syno donné déjà de meilleurs résultats:
(http://www.speedtest.net/result/3574120411.png)
En gros, le processeur du raspberry doit vraiment limiter la vitesse et ne permet donc pas de faire de test concluant :(
Avec un RPI tu peux largement avoir 100 mbs en wget. Je test dans 40 minutes un speedtest.
Le problème il ne faut pas une écriture en même temps car le bus est le même pour le port ethernet et USB, si je ne me trompe pas ?
J'ai testé en effet, le RPI gère mal ce script. Même sur un serveur conséquent, on a un très bon téléchargement et upload de 900mbs mais un ping de 13 pour Paris <=> Paris.
Bref, ne pas utiliser ce script, mais un script perso qui fait un wget.
Ou un iperf!
iperf -c debit.k-net.fr -i 1 -t 10 -r
En effet.
Edit : Je ne dépasse pas les 8X mbs sur un Rpi avec Iperf, alors qu'un wget vers le vide : 10,8 - 11mo/s
Le wget sur le Syno plafonne vers les 6mo/s alors que sur le Raspberry il tourne plutôt vers les 10.8-11mo/s.
Je vais donc faire un script pour le Raspberry car le Syno a clairement l'air d'être trop lent pour ce genre de tests :(
J'ai essayé d'automatiser le tout dans la crontab du Raspberry mais j'ai l'impression que rien ne se lance (je ne sais pas comment vérifier si la crontab tourne)...
Voici ce que j'ai mis dans la crontab:
0 1,5,9,13,17,21 * * * root /storage/downloads/script.sh
Si je recopie la ligne de la crontab et que je la lance à la main j'ai un message d'erreur: -sh: 0: not found
Aurais-tu une petite idée ?
Tel que je vois le crontab, il risque de ne pas se lancer souvent. Essayez "0 1 * * * command" pour que le script se lance tous les jours à 1h du matin (par exemple)
Le crontab -e doit être fait avec le user qui doit lancer le script (root si le script doit être lancer en root par exemple)
Chaque user peut avoir une ou plusieurs tâches planifiées.
Merci pour l'aide mais ça ne fonctionne toujours pas...
Le message d'erreur reste vraiment bizarre :-sh: backup: not found
Je ne suis pas sur que je pourrais vous aider pour le code du script mais vous pouvez le publiez ici. A mon avis, il y a une erreur à l'intérieur.
Oui c'est surement une erreur dans le script.
ça y est, ça marche !!
Juste pour info, voici ce que j'ai dans la crontab:
0 1,5,9,13,17,21 * * * /storage/downloads/script.sh
Et voici le scipt en question:
#!/bin/ash
echo -e "*****************************DEBUT DES TESTS*********************************** \n" >> /storage/downloads/log_tmp1.txt
date >> /storage/downloads/log_tmp1.txt
ping -c 5 [url=http://www.free.fr]www.free.fr[/url] >> /storage/downloads/log_tmp1.txt
curl -o /dev/null http://debit.k-net.fr/700Mo &> /storage/downloads/log_tmp2.txt
cat /storage/downloads/log_tmp1.txt /storage/downloads/log_tmp2.txt >> /storage/downloads/log_speedtest_$(date +%Y%m%d).txt
echo -e "*****************************FIN DES TESTS************************************* \n" >> /storage/downloads/log_speedtest_$(date +%Y%m%d).txt
rm /storage/downloads/log_tmp*
Je vais sûrement l'améliorer encore un peu, mais bon, au moins j'ai pu voir que cette nuit il s'est bien lancé aux heures voulues (1h, 5h et 9h ce matin).
Merci à vous pour votre aide grandement appréciée :)
Tu ping free ? !
Oui, c'était juste histoire de faire un test et de sortir du réseau K-Net ^^
Je vais mettre autre chose, je suis encore en train d'améliorer le script.
Tu peux faire plusieurs endroits.
Le ping c'est très léger.