Búsqueda de sitios web

Cómo utilizar 'Axel' como acelerador de descargas para acelerar las descargas FTP y HTTP


Si usted es el tipo de persona que disfruta descargar y probar varias distribuciones de Linux, estamos seguros de que recibirá con los brazos abiertos un acelerador de descargas que habla y predica, uno que hace lo que dice su descripción.

En esta guía, le presentaremos Axel, un clon ligero de wget que no tiene dependencias (aparte de gcc y makeutils).

Aunque su descripción indica que es especialmente adecuado para sistemas de bytes críticos, axel puede instalarse en cualquier lugar y usarse no sólo para descargar múltiples archivos simultáneamente a través de enlaces HTTP/FTP sino también para acelerarlos.

Instalación de Axel, un acelerador de descargas de línea de comandos para Linux

Como mencionamos anteriormente, axel no es una herramienta de descarga más. Acelera las descargas HTTP y FTP mediante el uso de múltiples conexiones para recuperar archivos del destino y también se puede configurar para usar múltiples espejos.

Si esto no fuera suficiente para motivarte a probarlo, agreguemos que axel admite la cancelación y reanudación automática de conexiones que no responden o no devuelven ningún dato después de un período de tiempo determinado.

Además, si tiene permiso para hacerlo, puede aprovechar axel para abrir múltiples conexiones FTP simultáneas a un servidor para multiplicar el ancho de banda asignado por conexión.

Si no tiene permiso para hacer esto o no está seguro de ello, puede abrir varias conexiones a servidores separados y descargar desde todos ellos al mismo tiempo.

Por último, pero no menos importante, axel se diferencia de otros aceleradores de descargas de Linux en que coloca todos los datos en un solo archivo en el momento de la descarga, en lugar de escribir datos en archivos separados y unirlos en una etapa posterior.

En CentOS/RHEL 8/7, necesitará habilitar el repositorio EPEL para poder instalar axel:

yum install epel-release
yum install axel

En Fedora, está disponible en los repositorios predeterminados.

yum install axel   
dnf install axel   [On Fedora 23+ releases]

En Debian y derivados como Ubuntu y Linux Mint, puedes instalar axel directamente con aptitude :

aptitude install axel

En Arch Linux y distribuciones relacionadas como Manjaro Linux y OpenSUSE Linux, puedes instalar axel directamente con:


sudo pacman -S axel       [On Arch/Manjaro]
sudo zypper install axel  [On OpenSUSE]

Una vez instalado el eje, sumergámonos con ambos pies.

Configuración de Axel – Acelerador de descargas de Linux

Puede configurar axel usando /etc/axelrc y pasar más opciones deseadas en la línea de comando cuando lo invoque. El archivo de configuración está bien documentado pero revisaremos las opciones más útiles aquí:

reconnect_delay es el número de segundos que axel esperará antes de intentar nuevamente iniciar una nueva conexión al servidor.

max_speed se explica por sí mismo. El valor se da en bytes por segundo (B/s). Es posible que desee establecer esta variable en un valor apropiado después de considerar su ancho de banda disponible. Esto le ayudará a evitar que axel consuma una gran cantidad de ancho de banda mientras se descarga.

Importante: tenga en cuenta que la velocidad de descarga máxima real dependerá de su conexión a Internet; no hace falta decir que debe configurar max_speed en 5 MB/s no servirán de nada si tu conexión a Internet alcanza un máximo de 1,22 MB/s (como fue en mi caso, como verás en los ejemplos siguientes; solo dejó ese valor para aclarar el punto).

num_connections es el número máximo de conexiones que axel intentará iniciar. El valor recomendado (4) es suficiente para la mayoría de los casos y se da principalmente por respeto a otros usuarios de FTP. Tenga en cuenta que es posible que algunos servidores ni siquiera permitan conexiones múltiples.

connection_timeout indica el número de segundos que axel esperará para recibir una respuesta antes de intentar abortar y reanudarla automáticamente.

http_proxy le permite configurar un servidor proxy en caso de que la variable de entorno HTTP_PROXY no se haya configurado en todo el sistema. Esta variable utiliza el mismo formato que HTTP_PROXY (http://:PORT).

no_proxy es una lista de dominios locales, separados por comas, a los que axel no debe intentar acceder a través de un proxy. Esta configuración es opcional.

buffer_size representa la cantidad máxima, en bytes, para leer de todas las conexiones actuales a la vez.

verbose le permite elegir si los mensajes relacionados con la descarga se imprimirán en la pantalla. Establezca esto en 0 si desea desactivarlo, o en 1 si aún desea ver los mensajes.

interfaces le permite enumerar las interfaces de red que tienen acceso a Internet, en caso de que tenga más de una. Si esto no se establece explícitamente, axel utilizará la primera interfaz en la tabla de enrutamiento.

Opciones de configuración similares están disponibles en:

axel --help

Si observa con atención, se dará cuenta de que la mayoría de las opciones de la línea de comandos se parecen a las del archivo de configuración. Además, la opción -o (–output) le permite especificar un nombre de archivo de salida.

Si se usa, anulará el nombre del archivo fuente. Si configura cualquiera de las opciones de la línea de comandos, anularán las configuradas en el archivo de configuración.

Cómo utilizar Axel para descargar archivos más rápido en Linux

Usaremos las siguientes configuraciones del archivo de configuración (descomenta las líneas correspondientes):

reconnect_delay = 20
max_speed = 500000
num_connections = 4
connection_timeout = 30
buffer_size = 10240
verbose = 1

Ahora compararemos los tiempos de descarga de enlaces HTTP y FTP usando wget y axel. Puede elegir cualquier archivo de cualquier tamaño, pero para simplificar, descargaremos archivos de 100 MB disponibles en:

  1. ftp://speedtest:[correo electrónico protegido]/test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

Comparar tiempos de descarga de FTP y Axel

Descarga FTP con wget (459 KB/s de media):
wget ftp://speedtest:[email /test100Mb.db

Descarga FTP con axel (1181,43 KB/s de media):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Comparar los tiempos de descarga de HTTP y Axel

Descarga HTTP con wget (482 KB/s en promedio):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

Descarga HTTP con axel (1178,93 KB/s de media):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Como puede ver en los resultados de las pruebas que realizamos anteriormente, axel puede acelerar significativamente una descarga FTP o HTTP.

Resumen

En este artículo, explicamos cómo utilizar axel, un acelerador de descargas FTP/HTTP, y mostramos cómo funciona más rápido que otros programas como wget porque puede abrir múltiples conexiones simultáneas a servidores remotos.

No te pierdas: Los 5 administradores de descargas más populares para tus sistemas Linux

No te pierdas: 10 ejemplos de comandos Wget (descargador de archivos de Linux) en Linux

Esperamos que lo que hemos mostrado aquí te motive a probar axel. No dude en hacernos saber si tiene alguna pregunta o comentario sobre este artículo utilizando el formulario a continuación. Siempre esperamos recibir comentarios de nuestros lectores.