Il est possible de limiter le débit de trafic à l'aide des outils tc
et netem
, mais cela limitera le débit de l'interface réseau de l'ordinateur. Je suppose que vous utilisez uniquement wget
ou curl
qu'aucune autre application n'échange de trafic via l'interface réseau.
tc
utilise un filtre à jetons jeton (TBF) pour contrôler le débit.
Voici un exemple de TBF (réf. Http://www.lartc.org/manpages/tc-tbf.html ):
Pour attacher un TBF avec un débit maximum soutenu de 0,5 Mbits / s, un débit maximum de 1,0 Mbits / s, une mémoire tampon de 5 kilo-octets, avec une limite de taille de la file d'attente avant compartiment définie pour que le TBF provoque un maximum de latence de 70 ms, avec un comportement de débit optimal , problème:
# tc qdisc add dev eth0 root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540
Voici un autre exemple d'utilisation de tc et de netem (disponible à l' adresse http://www.linuxfoundation.org/collaborate/workgroups/networking/netem ):
Il n'y a pas de contrôle de taux intégré à la discipline netem, utilisez plutôt l'une des autres disciplines qui contrôle le taux. Dans cet exemple, nous utilisons un filtre à jeton de jeton (TBF) pour limiter la sortie.
Ajouter le délai de chaque paquet allant / venant à travers l'interface eth0
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
ajouter le débit binaire, la taille de la mémoire tampon du paquet et la limite de rafale maximale
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
Pour voir la liste des règles assignées dans tc pour l'interface eth0
# tc -s qdisc ls dev eth0
La sortie de la commande ci-dessus serait comme ci-dessous
qdisc netem 1: limit 1000 delay 100.0ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
qdisc tbf 10: rate 256Kbit burst 1599b lat 26.6ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
Vérifiez les options pour les tampons et les limites car vous constaterez peut-être que vous avez besoin de valeurs par défaut plus grandes que celles-ci (elles sont en octets).