Trickle y Axel , dos herramientas para gestionar ancho de banda.

Miércoles 21 de agosto de 2013, por Aitor Roma Vázquez

Trickle es una aplicación que usa diversos algoritmos como Traffic shaping que es una tecnica para controlar el trafico entrante y saliente para controlar y hacer un uso óptimo de la conexion de red.

Lo bueno de Trickle,es que puede trabajar sin privilegios de usuario.Usa algunas funciones de red de Glib, al arrancar trickle usa la Variable LD_PRELOAD para cargar su propia librería dinámica que incluye funciones de red.

Instalando Trickle

$ sudo apt-get install trickle

Probando Trickle

Sin Trickle

$ wget -O "planeta tierra.divx" http://video.stage6.com/1402821/.divx

pantallazo-etherape.png

Con Trickle

$ trickle -d 50 wget -O "planeta tierra.divx" http://video.stage6.com/1402821/.divx

pantallazo-etherape-1.png



La diferencia es notable , imaginemos que estamos en el otro lado estamos conectados por ssh y hay un programa P2P funcionando comiendose todo el ancho de banda. pues trickle nos puede ayudar a tener una conexion mas eficiente , nuestros servidores seguiran dando servicio y tambien podremos descargar actualizar el sistema sin perder todo el ancho de banda.

Suavizando Permanente

Trickle tiene un archivo de configuración que nos permitira afinar algunos parametros y hacerlos permanentes individualmente para cada servicio.

El archivo de configuración es el siguiente /etc/trickled.conf

Veamos pues el archivo de configuración mas simple que se puede hacer.

[ssh]

Priority = 1

[www]

Priority = 8

Con este metodo conseguimos velocidades de descarga bastante buenas y al mismo tiempo poder hacer sesiones ssh a la maquina que esta descargando.

Afinando mas la Configuración

La documentación de trickle nos recomienda los parametros Time-Smoothing y Lenght-Smoothing para evitar fluctuaciones en las tasas de transferencia.

[ssh]

Priority = 1

Time-Smoothing = 0.1

Length-Smoothing = 2

[www]

Priority =8

Time-Smoothing = 5

Length-Smoothing = 20

Estos valores definen el tiempo y longitud de normalización que Trickle aplica al programa que esta controlando.

NOTA: Para descargar archivos grandes se recomienda valores grandes mientras que las interactivas como ssh requieren valores menores para su correcto funcionamiento.

Axel

Axel es una herramienta que podemos encontrar en los repos de debian y ubuntu
es un acelerador de descargas como el archi conocido flashget para windows pero para las descargas mediante consola.

puedes instalarlo con un simple

Podéis hacer la prueba descargando por ejemplo la iso de ubuntu
con wget:

aquí con Axel:

Otra opción interesante, si tus servidores funcionan con Ubuntu server es usar axel con apt-get de forma que la descarga es mucho mas rápida.

Puedes instalar apt-fast que es una modificación de apt-get para usar axel.

Este nos deja elegir tras instalarlo con que gestor de paquetes vamos a trabajar, con apt-get o aptitude, luego nos indica el número de conexiones concurrentes , por defecto son 5.

Si en cualquier momento queréis cambiar la configuración solo teneis de ejecutar

Saludos!

Comentar este artículo