[resolu]Bande passante (question complémentaire sur le QoS)

Bon, ben rien de concluant, le traffic est trop irrégulier. Seul effet de bord, j’ai fait un script fabriquant un graphe en temps réel de l’upload sur 24 heures glissantes:

Tu as juste suivi le débit moyen, c’est tout ?
Tu n’as pas essayé d’ajuster ton debit max moyen en tps réel finalement ?

C’est vrai que quoi que tu mettes en place, c’est difficile de trouver des méthodes pour savoir si ça améliore les choses.

Bne oui, si on regardes bien, on arrives à être assez fin dans le calcul du débit et à voir les pointes mais je n’ai pas réussi à voir de différence me permettant de dire si l’upload maximal de la ligne avait augmenté ou diminué. La seule solution consiste effectivement à faire régulièrement

  • désactivation du script de QoS
  • saturation de l’upload par envoi d’un fichier
  • lecture de l’upload

seulement si je fais ça par script+crontab, j’aurais assez régulièrement des gueulantes familiales car dans ce cas, le ping passe de 60ms à 500ms (ce qui les fait perdre :slightly_smiling: , moi ça m’amuse mais pas eux)

Ce qui fait perdre quoi à ta famille ?

Sinon je suis intéressé par le script, je crois que des mec de grenouille.com en avait fait un aussi, on parlait bcp de ce site il y a qq années.

Tu n’as jamais entendu le cri d’un joueur de Warcraft ou autre Counter Strike qui voit son personnage se figer…

Sinon, pour le script:

courbeupload.sh

#!/bin/sh UPLOADDEB=`grep eth1 /proc/net/dev | awk '{print $9}'` DATEDB=`date +%s` while /bin/true ; do sleep 900 UPLOAD=`grep eth1 /proc/net/dev | awk '{print $9}'` DATE=`date +%s` #echo $HEURE DEBIT=$[($UPLOAD-$UPLOADDEB)/($DATE-$DATEDB)/128] #echo Glop H=`date +%k` M=`date +%M | sed -e 's/^0//'` HEURE=$[$H*60+$M] echo $HEURE" "$DEBIT >> Upload.csv UPLOADDEB=$UPLOAD DATEDB=$DATE tail -n 80 Upload.csv | sort -n | awk '{print $1/60" "$2/8}' > Up.csv #echo Gnupl gnuplot plotup.gpl > /tmp/up.ps pushd /tmp ps2pdf up.ps convert -rotate 90 -resize 400x400 -gamma 0.3 up.ps up.jpg cat up.jpg > /var/www/up.jpg popd done

avec
plotup.gpl

set term postscript plot [0:24] [0:50] "Up.csv" with linespoints

mais ça ne trace que l’upload constaté pas le maximum…

Je suis un peu a coté de la plaque on dirait, je n’y avait pas pensé :confused: mais je croyais que ca n’avait de l’importance qu’avec les FPS.

Ca n’est que upload utilisé pas le maximum, ton script, excuse du coup ca n’est plus intéressant pour moi. D’ailleurs dans ton optique je ne vois pas non plus ton interet là dedans, ce q’uil te faut c’est ton débit max.

Je suis retourné sur le site de grenouille mais il a bien changé, il n’y a plus le script, juste une appli windows. Le script qu’il y avait avant utilisait le DSLAM, pour faire le test il me semble.

Ben oui, si tu veux les scripts grenouilles, j’ai utilisé plgrenouille qui ne marche pas trop mal MAIS qui est incompatible avec un script QoS en permanence.

Sinon, j’ai fait également un scriopt qui va récupéré les caractéristiques techniques de la ligne chaque jour mais comme elles ne sont mises à jour que toutes les 24heures, c’est guère utile. J’avais fait un script avec une estimation d’upload maximum mais cela nécessitait l’interruption du QoS. C’est plutôt ce script qui t’intéresserait. J’'essayerai de le retrouver pour te le passer si tu veux…

Ha oui je veux bien tout ces scripts, au moins pour regarder comment ils marche, j’essaye de me mettre aux scripts, mais je n’y comprends rien pour l’instant.

Bon je ne comprends toujours pas l’interet de ton script dans ton cas, mais je vois bien le dilemme avec l’arret de QOS.

Aucun intérêt si ce n’est celui très important de ne pas avoir bosser complètement pour rien: J’ai une belle courbe en plus (dont je me moque c’est vrai)!

héhé pour me moquer un peu plus, il y a plein de soft qui font de plus joli graph

:laughing: :arrow_right:

:smt022

Voilà le script que j’avais fait pour calculer l’upload maximum, je l’ai remis à neuf en mettant deux sites FTP. Avec les deux ça marche mieux…

#!/bin/sh
DIR=/home/francois
FICHIER=v.zip
SERVEUR1=unserveur.dyndns.org
LOG1=monlogin
PASS1=monpasse
SERVEUR2=ftpperso.free.fr
LOG2=logindefree
PASS2=passedefree
SCRIPT=/usr/local/bin/limiteurfree 
#
pushd $DIR
$SCRIPT stop
UPLOADDEB=`grep eth1 /proc/net/dev | awk '{print $9}'`
DATEDB=`date +%s`
/usr/bin/ftp -n $SERVEUR1 <<EOF
user $LOG1 $PASS1
put $FICHIER 
quit
EOF
DATE=`date +%s`
UPLOAD=`grep eth1 /proc/net/dev | awk '{print $9}'`
/usr/bin/ftp -n $SERVEUR1 <<EOF
user $LOG1 $PASS1
dele $FICHIER 
quit
EOF
#echo $HEURE
DEBIT=$[($UPLOAD-$UPLOADDEB)/($DATE-$DATEDB)/128]
#echo Glop
H=`date +%k`
M=`date +%M | sed -e 's/^0//'`
HEURE=$[$H*60+$M]
DEB=$[$DEBIT/9]
if [ ! -z $1 ] ; then
UPLOADDEB=`grep eth1 /proc/net/dev | awk '{print $9}'`
DATEDB=`date +%s`
/usr/bin/ftp -n $SERVEUR2 <<EOF
user $LOG2 $PASS2
put $FICHIER
quit
EOF
DATE=`date +%s`
UPLOAD=`grep eth1 /proc/net/dev | awk '{print $9}'`
/usr/bin/ftp -n $SERVEUR2 <<EOF
user $LOG2 $PASS2
dele $FICHIER
quit
EOF
#echo $HEURE
DEBIT2=$[($UPLOAD-$UPLOADDEB)/($DATE-$DATEDB)/128]
H=`date +%k`
M=`date +%M | sed -e 's/^0//'`
HEURE=$[$H*60+$M]
DEB2=$[$DEBIT2/9]
echo $DEBIT vs $DEBIT2
if [ $DEBIT2 -ge $DEBIT ] ; then
DEBIT=$DEBIT2
DEB=$DEB2
fi
fi
echo Debit: $DEBIT soit $DEB K/s
if [ $DEBIT -ge 200 ] ; then
echo $DEB  > /etc/upload
else
echo Debit non retenu
fi 
$SCRIPT start
echo -n $DEB";" >> /var/log/uploadmax.log
date  >> /var/log/uploadmax.log
popd

Il faut lancer le script sous la forme

calculuploadmax

si on utilise un seul serveur FTP et

calculuploadmax youkaidi

pour deux serveurs FTP.
/usr/local/bin/limiteurfree est mon script de QoS. Il faut en gros un fichier de 5M pour avoir un bonne estimation de l’upload.

Merci, je vais étudier ca…

J’ai amélioré le script en testant si le serveur est actif ou non (EDF vient de me jouer un tour en coupant sauvagement l’électricité au lycée le premier jour des vacances!), finalement avec les améliorations faites, il n’est pas si mal pour une utilisation en période creuse.

#!/bin/sh DIR=/home/francois FICHIER=v.zip SERVEUR1=monserveur.dyndns.org LOG1=monlogin PASS1=******* SERVEUR2=ftpperso.free.fr LOG2=monlogin PASS2=****** SCRIPT=/usr/local/bin/limiteurfree pushd $DIR $SCRIPT stop UPLOADDEB=`grep eth1 /proc/net/dev | awk '{print $9}'` DATEDB=`date +%s` if ping -c 1 $SERVEUR1 ; then /usr/bin/ftp -n $SERVEUR1 <<EOF user $LOG1 $PASS1 put $FICHIER quit EOF DATE=`date +%s` UPLOAD=`grep eth1 /proc/net/dev | awk '{print $9}'` /usr/bin/ftp -n $SERVEUR1 <<EOF user $LOG1 $PASS1 dele $FICHIER quit EOF DEBIT=$[($UPLOAD-$UPLOADDEB)/($DATE-$DATEDB)/128] H=`date +%k` M=`date +%M | sed -e 's/^0//'` DEB=$[$DEBIT/9] else DEBIT=0 DEB=0 fi if [ ! -z $1 ] ; then UPLOADDEB=`grep eth1 /proc/net/dev | awk '{print $9}'` DATEDB=`date +%s` if ping -c 1 $SERVEUR2 ; then /usr/bin/ftp -n $SERVEUR2 <<EOF user $LOG2 $PASS2 put $FICHIER quit EOF DATE=`date +%s` UPLOAD=`grep eth1 /proc/net/dev | awk '{print $9}'` /usr/bin/ftp -n $SERVEUR2 <<EOF user $LOG2 $PASS2 dele $FICHIER quit EOF DEBIT2=$[($UPLOAD-$UPLOADDEB)/($DATE-$DATEDB)/128] H=`date +%k` M=`date +%M | sed -e 's/^0//'` HEURE=$[$H*60+$M] DEB2=$[$DEBIT2/9] else DEBIT2=0 DEB2=0 fi echo $DEBIT vs $DEBIT2 if [ $DEBIT2 -ge $DEBIT ] ; then DEBIT=$DEBIT2 DEB=$DEB2 fi fi echo Debit: $DEBIT soit $DEB K/s if [ $DEBIT -ge 200 ] ; then echo $DEB > /etc/upload else echo Debit non retenu fi $SCRIPT start echo -n $DEBIT";" >> /var/log/uploadmax.log date >> /var/log/uploadmax.log popd