[technique] St Go : saturation radio, besoin d'aide

Cyril popolinux at gmail.com
Lun 28 Avr 18:27:32 CEST 2014


Salut Fernando,

Génial comme principe car, si j'ai bien compris, on applique la QoS 
seulement aux personnes qui abusent.

Ça marche bien en production ?
Tu faisais pareil sur le download ou pas besoin ?

Merci pour ton retour
Cyril


Le 28/04/2014 16:59, Fernando Alves a écrit :
> Salut,
>
>
> Le 28/04/2014 15:39, Cyril a écrit :
>>> Par contre, il serait possible de fixer des règles en fonction de
>>> l'heure de la journée ou bien de cascader plusieurs règles pour faire
>>> un enforcement de plus en plus strict du débit maximal autorisé par
>>> utilisateur jusqu'à supprimer la saturation (entendu : on essaye à
>>> 5Mbps, puis 2Mbps, puis 1Mbps, puis 500kbps), mais au bout d'un
>>> moment il y a le risque d'over-engineerer, et les problèmes de
>>> performance que cela peut engendrer en multipliant les règles netfilter.
>> D'accord.
>>
>> Donc ce n'est pas vraiment possible de donner tout le débit à un
>> utilisateur si personne d'autre ne s'en sert ? De le diviser en deux
>> si deux personnes le demandent ?
>>
>> Ou encore mieux, donner tout le débit dispo durant X secondes puis
>> fixer une limite de débit une fois que ce "crédit est dépensé" ?
>> Par exemple, utiliser 30 Mb pendant 300 secondes permet de télécharger
>> plus d'un Go de données.
>> On peux considérer qu'au-delà c'est une utilisation abusive et nous
>> pourrions prioriser les utilisateurs lambda.
>>
> A Sames j'utilise un truc dans le genre sur le UP de nos lignes ADSL.
> J'ai un script (en php) qui relève la conso de chaque IP toutes les N
> minutes, les utilisateurs changent de "class" selon leur temps
> d'utilisation intensive du débit montant.
> C'est un script (ci-joint) que j'avais développé à l'arrache suite à la
> plainte de nombreux adhérents sur la lenteur de leurs connexions, il
> mériterait d'être repris/amélioré (changer le langage surtout(php)) mais
> je n'ai jamais trouvé le temps.
>
> ************* A mettre dans "/etc/ppp/ip-up.d/" ***********************
>
> MAXUP0=900
> MAXUP1=800
> MAXUP2=700
> MAXUP3=600
> MAXUP4=500
> MAXUP5=300
>
> tc qdisc add dev $PPP_IFACE root handle 1: htb default 100
> tc class add dev $PPP_IFACE parent 1: classid 1:1 htb rate 100000Kbit
> ceil 100000Kbit burst 1023975b cburst 126575b prio 0 quantum 60000
> tc class add dev $PPP_IFACE parent 1:1 classid 1:2 htb rate 1000kbit
> ceil 1000kbit burst 6Kb cburst 2224b quantum 60000
>
> tc class add dev $PPP_IFACE parent 1:2 classid 1:10  htb rate 300kbit
> ceil ${MAXUP0}kbit burst 48Kb prio 1 quantum 60000
> tc qdisc add dev $PPP_IFACE parent 1:10 handle 10: sfq perturb 10
>
> tc class add dev $PPP_IFACE parent 1:2 classid 1:3  htb rate 200kbit
> ceil ${MAXUP0}kbit burst 24Kb prio 2 quantum 60000
>
> tc class add dev $PPP_IFACE parent 1:3 classid 1:100  htb rate 100kbit
> ceil ${MAXUP1}kbit burst 24Kb prio 3 quantum 60000
> tc qdisc add dev $PPP_IFACE parent 1:100 handle 100: sfq perturb 10
>
> tc class add dev $PPP_IFACE parent 1:3 classid 1:99  htb rate 64kbit
> ceil ${MAXUP2}kbit burst 6Kb prio 4 quantum 60000
> tc qdisc add dev $PPP_IFACE parent 1:99 handle 99: sfq perturb 10
>
> tc class add dev $PPP_IFACE parent 1:3 classid 1:98  htb rate 32kbit
> ceil ${MAXUP3}kbit burst 1Kb prio 5 quantum 60000
> tc qdisc add dev $PPP_IFACE parent 1:98 handle 98: sfq perturb 10
>
> tc class add dev $PPP_IFACE parent 1:3 classid 1:97  htb rate 16kbit
> ceil ${MAXUP4}kbit burst 1Kb prio 6 quantum 60000
> tc qdisc add dev $PPP_IFACE parent 1:97 handle 97: sfq perturb 10
>
> tc class add dev $PPP_IFACE parent 1:3 classid 1:96  htb rate 16kbit
> ceil ${MAXUP5}kbit burst 1Kb prio 7 quantum 60000
> tc qdisc add dev $PPP_IFACE parent 1:96 handle 96: sfq perturb 10
>
> ********************************************************************
>
>
> Fernando




Plus d'informations sur la liste de diffusion technique