Hou je bandbreedte onder controle met Trickle

linux tools

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (12)
2x Aanbevolen

Gepubliceerd: Dinsdag 8 maart 2011
Auteur: Koen Vervloesem

Het gebeurt dat een programma op je Linux-computer alle bandbreedte inneemt, waardoor je niet meer normaal kunt surfen. Hiervoor is een keurige oplossing: gebruik de userspace bandwith shaper Trickle.

Sommige programma's bieden zelf al de mogelijkheid om hun download- of uploadsnelheid te beperken tot een opgegeven limiet. Vóór je je tot andere oplossingen wendt, kun je daarom het best eerst naar de man-pagina kijken of naar andere documentatie van het programma dat je wilt inperken. Het programma wget kent bijvoorbeeld de optie --limit-rate en een programma zoals KTorrent laat ook toe om de maximale download- en uploadsnelheid in te geven.

Maar als de boosdoener zo'n mogelijkheid niet kent, dan kan Trickle van pas komen. Er is al lang geen nieuwe versie meer van uitgekomen en helaas werkt het niet in alle omstandigheden. De oorzaak voor dit laatste is te vinden in de manier waarop Trickle werkt: het vervangt de socket-interface van libc door zijn eigen wrapper die de gegevensstroom door de socket vertraagt. Dit vervangen werkt alleen bij programma's die libc dynamisch linken, wat de meeste programma's gelukkig doen. Om te controleren of het programma met Trickle ingeperkt kan worden, kijk je dus met ldd of libc bij de dynamisch gelinkte bibliotheken voorkomt, bijvoorbeeld:


$ ldd /usr/lib/firefox-3.6.15/firefox-bin|grep libc

libc.so.6 => /lib/libc.so.6 (0x00007f8370c34000)


Een tweede beperking is dat Trickle alleen TCP-sockets kan vertragen. Als je nu de bandbreedte van een programma wilt inperken, kan dit met de opties -d (downloadsnelheid) en -u (uploadsnelheid), waarbij de waarde erachter in kilobytes per seconde is:


$ trickle -d 100 -u 50 lftp ftp://url.voorbeeld.nl/voorbeeld.iso


Wil je globale bandbreedtebeperkingen opleggen, dan gebruik je de daemon trickled:


$ trickled -d 500 -u 100

Elke keer dat je trickle nu toepast op een proces, controleert die bij trickled hoeveel bandbreedte het mag gebruiken, en trickled zorgt er zo voor dat de gezamenlijke download- respectievelijk uploadsnelheid van alle door trickle gecontroleerde processen niet boven de ingestelde waarden komt. Verder kun je per proces de prioriteit van de bandbreedte instellen, namelijk in het configuratiebestand /etc/trickled.conf.

Bekijk zeker eens de man-pagina's van trickle en trickled voor de vele opties die ondersteund zijn en de man-pagina van trickled.conf voor een voorbeeldconfiguratie die altijd genoeg bandbreedte aan ssh-verkeer toekent. Al met al biedt Trickle niet de meest geavanceerde manier om de bandbreedte van je programma's onder controle te houden, maar het is wel heel eenvoudig te gebruiken en ondanks zijn beperkingen in heel wat omstandigheden toepasbaar.

De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.

Relevante whitepapers

Alle whitepapers >>

Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Maximaliseer het voordeel van SaaS

    Cloud-applicaties hebben grote invloed op het gebruik van de IT-architectuur en niet ieder project levert de verwachte voordelen op.

    Downloaden
  • Houdt grip op UC-uitdagingenUnified communications biedt heel veel, maar heeft ook specifieke uitdagingen!
  • Overheid bespaart met cloud computingDiscussie over cloud-beleid overheid. Whitepaper over kosten, veiligheid en beschikbaarheid.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)