웹사이트 검색

FTP 및 HTTP 다운로드 속도를 높이기 위해 'Axel'을 다운로드 가속기로 사용하는 방법


여러 Linux 배포판을 다운로드하고 시험해 보는 것을 좋아하는 사람이라면 설명대로 진행되는 다운로드 가속기를 두 팔 벌려 환영할 것입니다.

이 가이드에서는 종속성이 없는(gccmakeutils 제외) 경량 wget 클론인 Axel을 소개합니다.

설명에는 바이트 중심 시스템에 특히 적합하다고 명시되어 있지만 axel은 어디에나 설치할 수 있으며 HTTP/FTP 링크를 통해 여러 파일을 동시에 다운로드할 뿐만 아니라 속도를 높이는 데에도 사용할 수 있습니다.

Linux용 명령줄 다운로드 가속기인 Axel 설치

앞서 언급했듯이 axel은 단순한 다운로드 도구가 아닙니다. 다중 연결을 사용하여 대상에서 파일을 검색함으로써 HTTPFTP 다운로드를 가속화하고 다중 미러를 사용하도록 구성할 수도 있습니다.

이것이 시도해 보고 싶은 동기를 부여하기에 충분하지 않다면 axel이 응답이 없거나 일정 시간이 지난 후 데이터를 반환하지 않는 연결을 자동으로 중단하고 재개하는 기능을 지원한다는 점을 추가해 보겠습니다.

또한, 권한이 있는 경우 axel을 활용하여 서버에 대한 여러 동시 FTP 연결을 열어 연결당 할당된 대역폭을 늘릴 수 있습니다.

이 작업을 수행할 수 없거나 확실하지 않은 경우 대신 여러 서버에 연결하여 별도의 서버를 열고 모든 서버에서 동시에 다운로드할 수 있습니다.

마지막으로, axel은 데이터를 별도의 파일에 기록하고 나중에 결합하는 것과는 달리 다운로드 시 모든 데이터를 단일 파일에 저장한다는 점에서 다른 Linux 다운로드 가속기와 다릅니다.

CentOS/RHEL 8/7에서 axel을 설치하려면 EPEL 저장소를 활성화해야 합니다.

yum install epel-release
yum install axel

Fedora에서는 기본 리포지토리에서 사용할 수 있습니다.

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

DebianUbuntuLinux Mint와 같은 파생 버전에서는 aptitude<를 사용하여 axel을 직접 설치할 수 있습니다. /강한>:

aptitude install axel

Arch LinuxManjaro LinuxOpenSUSE Linux와 같은 관련 배포판에서는 다음을 사용하여 axel을 직접 설치할 수 있습니다.


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

액셀이 설치되면 두 발로 다이빙해 봅시다.

Axel 구성 - Linux 다운로드 가속기

/etc/axelrc를 사용하여 axel을 구성하고 이를 호출할 때 명령줄에서 원하는 추가 옵션을 전달할 수 있습니다. 구성 파일은 잘 문서화되어 있지만 여기에서 가장 유용한 옵션을 검토하겠습니다.

reconnect_delay는 axel이 서버에 대한 새 연결을 다시 시작하기 전에 대기하는 시간(초)입니다.

max_speed는 설명이 필요 없습니다. 값은 초당 바이트(B/s) 단위로 제공됩니다. 사용 가능한 대역폭을 고려한 후 이 변수를 적절한 값으로 설정할 수 있습니다. 이렇게 하면 axel이 다운로드하는 동안 대역폭을 많이 소모하는 것을 방지하는 데 도움이 됩니다.

중요: 실제 최대 다운로드 속도는 인터넷 연결에 따라 달라집니다. max_speed로 설정하는 것은 당연합니다. 인터넷 연결이 1.22MB/s에 도달하면 5MB/s는 아무 작업도 수행하지 않습니다(제 경우와 마찬가지로 아래 예에서 볼 수 있듯이 – 저는 단지 요점을 설명하기 위해 그 값을 남겨 두었습니다).

num_connections는 axel이 시작을 시도할 최대 연결 수입니다. 권장 값(4)은 대부분의 경우 충분하며 대부분 다른 FTP 사용자를 존중한다는 이유로 제공됩니다. 일부 서버에서는 다중 연결을 허용하지 않을 수도 있습니다.

connection_timeout은 axel이 자동으로 중단하고 재개하기 전에 응답 수신을 기다리는 시간(초)을 나타냅니다.

http_proxy를 사용하면 HTTP_PROXY 환경 변수가 시스템 전체에 설정되지 않은 경우 프록시 서버를 설정할 수 있습니다. 이 변수는 HTTP_PROXY(http://:PORT)와 동일한 형식을 사용합니다.

no_proxy는 axel이 프록시를 통해 연결을 시도해서는 안 되는 쉼표로 구분된 로컬 도메인 목록입니다. 이 설정은 선택 사항입니다.

buffer_size는 한 번에 모든 현재 연결에서 읽을 수 있는 최대 양(바이트)을 나타냅니다.

verbose를 사용하면 다운로드 관련 메시지를 화면에 인쇄할지 여부를 선택할 수 있습니다. 비활성화하려면 0으로 설정하고, 메시지를 계속 보려면 1로 설정합니다.

인터페이스를 사용하면 인터넷에 액세스할 수 있는 네트워크 인터페이스를 나열할 수 있습니다(두 개 이상인 경우). 이것이 명시적으로 설정되지 않으면 axel은 라우팅 테이블의 첫 번째 인터페이스를 사용합니다.

다음에서 유사한 구성 옵션을 사용할 수 있습니다.

axel --help

주의 깊게 살펴보면 대부분의 명령줄 옵션이 구성 파일의 옵션과 유사하다는 것을 알 수 있습니다. 또한 -o(–output) 옵션을 사용하면 출력 파일 이름을 지정할 수 있습니다.

사용하는 경우 소스 파일 이름을 재정의합니다. 명령줄 옵션을 설정하면 구성 파일에 설정된 옵션이 재정의됩니다.

Axel을 사용하여 Linux에서 파일을 더 빠르게 다운로드하는 방법

구성 파일에서 다음 설정을 사용합니다(해당 줄의 주석 처리 제거).

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

이제 wgetaxel을 사용하여 HTTPFTP 링크의 다운로드 시간을 비교해 보겠습니다. 모든 크기의 파일을 선택할 수 있지만 편의를 위해 다음에서 사용 가능한 100MB 파일을 다운로드합니다.

  1. ftp://speedtest:[이메일 보호]/test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

FTP와 Axel 다운로드 시간 비교

wget을 사용한 FTP 다운로드(평균 459KB/s):
wget ftp://speedtest:[email /test100Mb.db

axel을 사용한 FTP 다운로드(평균 1181.43KB/s):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

HTTP와 Axel 다운로드 시간 비교

wget을 사용한 HTTP 다운로드(평균 482KB/s):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

axel을 사용한 HTTP 다운로드(평균 1178.93KB/s):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

위에서 수행한 테스트 결과에서 볼 수 있듯이 axelFTP 또는 HTTP 다운로드 속도를 크게 높일 수 있습니다.

요약

이 기사에서는 FTP/HTTP 다운로드 가속기인 axel을 사용하는 방법을 설명하고 wget과 같은 다른 프로그램보다 더 빠르게 수행할 수 있는 방법을 보여주었습니다. 원격 서버에 대한 여러 동시 연결을 엽니다.

놓치지 마세요: Linux 시스템에 가장 인기 있는 다운로드 관리자 5가지

놓치지 마세요: Linux의 10가지 Wget(Linux 파일 다운로더) 명령 예

우리가 여기서 보여준 내용이 여러분이 악셀을 시도하도록 동기를 부여하기를 바랍니다. 이 기사에 대해 질문이나 의견이 있으면 아래 양식을 사용하여 알려주시기 바랍니다. 우리는 항상 독자들의 피드백을 기대하고 있습니다.