All links of one day
in a single page.
<Previous day - Next day>

rss_feedDaily RSS Feed
floral_left The Daily Shaarli floral_right
——————————— January 25, 2015 - Sunday 25, January 2015 ———————————
tc -

Problème assez simple : lorsque je télécharge des vidéos de vacances sur mon serveur, la connexion est saturée et je ne peux plus rien faire sans latence (ssh, web, jeux..)

Pour résoudre ce problème, j'ai limité l'upload de mon serveur de façon basique le temps de mieux comprendre tc (et sa partie classful) :
tc qdisc add dev eth0 root tbf rate 6000kbit latency 50ms burst 10000

Et ça marche bien :-) Je limite l'upload à 6000kbit/s soit la moitié de
Sans cette politique je dl à 12Mbit/s depuis chez moi soit environ 1,5MBytes/s (1,5Moctets/s)
Une fois la qdisc appliquée je chute de moitié. Un peu violent, mais au moins personne n'est pénalisé lorsque quelqu'un télécharge ^^ Je vais tenter d'augmenter un peu cette limite pour voir jusqu'où je peux aller.

Ce n'est cependant pas parfait, ce workaround ne fonctionne que lorsqu'on télécharge sur mon serveur, il faudrait avoir un routeur à la maison (ex : raspberry) et le faire dessus avec des qdisc classful pour limiter suivant le type de flux

PS :

Pour voir et supprimer cette politique :
tc qdisc show dev eth0
tc qdisc del dev eth0 root

Choix de la valeur de 'burst' :
C'est la taille en bytes du bucket. Elle doit être un minimum de : rate/HZ. Pour trouver son HZ :

egrep '^CONFIGHZ[0-9]+' /boot/config-uname -r

CONFIG_HZ_250=y

Donc pour un rate de 6000kbit/sec = 6 000 000 bit/sec, on a :
burst_mini = 6 000 000 / 250 = 24000 bits = 3000 bytes

Et pour le burst maximum, on prend le rate max du server : 100Mbps = 100 000 000 bit
burst_max = 100 000 000 / 250 = 400 000 bits = 50 000 bytes

Il faut choisir une valeur dans cet intervalle, c'est la "réserve" qui sera disponible quand on commencera un téléchargement.
50 000bytes, ça fait 50Mo, donc les 50 premiers Mo du téléchargement ne seront pas limités ce qui fait un peu trop.

-