El teu blog de Linux en català

Limiteu l'ample de banda amb Trickle

Segur que molts de vosaltres heu tingut problemes d’ample de banda quan, per exemple, voleu descarregar algun fitxer gran i a la vegada vore un vídeo del YouTube amb el Firefox.

Aquest problema pot ser solventat per Trickle. Trickle és un programa que funciona en l’espai d’usuari que sense necessitat d’executar-lo com administrador, fa ús de la variable LD_PRELOAD per carregar la seua pròpia llibreria dinàmica que conté funcions de xarxa i així poder control·lar els paquets que envien o reben els programes carregats.

El seu funcionament és molt senzill i funciona amb la majoria de programes. La forma d’executar-lo és en consola:

trickle -d 100 -u 10 konqueror

D’aquesta forma hem executat el programa konqueror amb un límit de descàrrega (-d) de 100 KB/s i un límit de pujada (-u) de 10 KB/s.

Es poden executar tantes instàncies de trickle com es vulguen i amb els límits que estimem més adequats. Si alguns dels dos límits no s’especifiquen, automàticament seran fixats a 10 KB/s.

Ara bé, què passa si volem executar dos programes i que aquests dos com a màxim gasten 100 KB/s? Una opció seria executar dos instàncies de trickle amb un límit de baixada de 50 KB/s, però, i si volem afegir un altre al límit total de 100 KB/s?

Per solucionar aquest problema, existeix el dimoni de trickle: trickled.

Aquest funciona de forma idèntica:

trickled -d 100 -u 10

L’única diferència és que no hem especificat cap programa, ja que és un dimoni. A partir d’ara, qualsevol instància de trickle que executem tindrà com a límit màxim el que hem especificat al dimoni.

trickle -d 80 -u 7 konqueror
trickle -d 70 -u 6 wget http://www.url.com/fitxer

Ací, encara que la suma dels límits supere als del dimoni, el límit serà el definit al dimoni. I una última cosa, si volem crear una instància de trickled que se salte els límits del dimoni trickled, sols hem d’afegir el paràmetre -s:

trickle -s -d 150 -u 20 firefox

El límit de baixada serà de 150 KB/s sols per aquesta instància, per a la resta continuarà sent el del dimoni.

Per més informació, podeu consultar el manual de programa, executant des de consola:

man trickle
man trickled

    • PellRoja on 2 de desembre de 2008 at 14:35

    Reply

    Bon article. Em pregunto si amb aix’o tamb’e es podria limitar l’ampla de banda de cada usuari? per exemple d’un servidor? 😛

    • Katsuro on 2 de desembre de 2008 at 19:29

    Reply

    Gràcies per l’ aportació, tot i aixi tinc un dubte semblant al del usuari anterior:

    Es possible limitar l’ ample de banda dels Serveis Web, com l’ Apache, FTP,…??

    Salutacions

    • lesergi on 2 de desembre de 2008 at 22:49

    Reply

    Hola!

    @PellRoja
    Trickle és una manera senzilla de limitar les velocitats a l’espai d’usuari. Si vols controlar les connexions globalment segons l’usuari, dispositiu, protocol… pots usar tc. tc és una eina molt avançada i potent, però per això mateix és un pèl difícil de configurar. Si vols més informació llegeix el seu manual (man tc).

    @Katsuro
    Com li he dit a PellRoja, Trickle és una eina molt senzilla i prou simple. Per a programes tan complexes com l’Apache quasi sempre tens alguna utilitat que faça eixe treball. En concret, per a aquest tens el mòdul bw, que a Ubuntu el pots trobar amb el nom de libapache2-mod-bw. De totes formes, sempre pots intentar-ho.

    Au!

    • Katsuro on 5 de desembre de 2008 at 09:27

    Reply

    Ams, moltes gràcies, ho intentare, tot i aixi aixo del modul bw, crec que es allo que surt a la “ServerSignature” com a mod_bw-limited, sembli mes complexe i interessant en el meu cas. El Trickle deu ser mes com el programa “NetLimiter” del Windows, cert?

    Salutacions

Deixa un comentari

Your email address will not be published.