더 빨리 또는 멀티 스레딩을 만드는 방법?


39

방금 컴퓨터 하드웨어 (cpu + 메인 보드 + 그래픽 카드 + 메모리 + 하드 디스크)를 업그레이드 했으므로 새 OS를 설치해야합니다. 나는 명령 으로 다운로드 debian-6.0.6-amd64-netinst.iso를 시도 wget했지만 속도가 너무 느려서 견딜 수 없었습니다. 4Kb/s ~ 17 Kb/s, 달리는 거북이처럼 느리게, Chrome을 사용하면 더 느려집니다.

wget 의 도움말 정보를 읽었습니다 . 더 빨리 만들 수있는 옵션이없는 것 같습니다.

어쨌든 wget을 더 빨리 만들 수 있습니까? 아니면 멀티 스레딩 다운로드가 가능합니까?

추신 : 내 대역폭은 4M입니다. 이 명령을 사용합니다.

wget -c url  http://hammurabi.acc.umu.se/debian-cd/6.0.6/amd64/iso-cd/debian-6.0.6-amd64-netinst.iso

1
wget은 연결 만 사용합니다. 따라서 속도가 느리면 서버와의 연결입니다. 서버가 느리거나 속도가 느릴 수 있습니다. BTW 메가 비트 = 0.5MB / s의는하지 등 손실을 언급
Dr_Bunsen

@Dr_Bunsen당신의 조언을 주셔서 감사합니다, 나는 명령 시도 @Gufran제안 : axel비교 폭을 wget, axel그 어느 때보 다입니다. 대부분의 상황에서 다운로드 속도의 병목 현상은 1 이라고 생각 합니다. 무언가가 대역폭을 차지했습니다 (당신이 말했듯이 : 느립니다 ). 2 . 단일 스레딩. 3 . 서버가 느립니다. 그러나 나는 1 & 3 지점 과 관련이 없습니다 .
Teifi

@Teifi axel동일한 원격 서버를 사용할 때 멀티 스레드가 wget보다 성능이 좋으면 상자와 원격 서버 간의 대기 시간이 매우 깁니다. 원격 서버에 대한 핑을 확인하십시오.
John Siu

HTTrack을 사용해 보셨습니까? httrack.com/page/1/en/index.html
amanthethy

답변:


52

시도해 보지 않겠 axel습니까? 본격적인 커맨드 라인 기반 다운로더입니다.

설치 axel및 생성

axel -a -n [Num_of_Thread] link1 link2 link3 ...

여기서 '[Num_of_Thread]'다운로드하려는 각 링크에 대해 생성 할 병렬 연결 수입니다.

-a 개선 된 진행률 표시 줄 만 표시하십시오.

다른 많은 다운로드 관리자와 달리 Axel은 하나의 단일 스레드를 사용하여 모든 데이터를 대상 파일로 직접 다운로드합니다. 프로그램이 다운로드 한 모든 부품을 연결할 필요가 없기 때문에 결국 시간이 절약됩니다.


명령 줄에 둘 이상의 매개 변수가 없으면 curl 또는 wget 대신 사용 가능한 경우 axel을 사용하는 별칭 및 래퍼를 통해 방법이 있는지 궁금합니다.
sorin

1
이 제안으로는 하나의 파일을 다운로드하기에 충분하지 않다고 생각합니다. 필요한 경우 수정하십시오. 내 시도는 여기 askubuntu.com/q/813483/25388
Léo Léopold Hertz 준영

54

나는 시도 axelGufran 의 추천하지만 상당히 저를 실망. 저의 목표는 DownThemAllCPU와 하드 디스크를 혼잡하게하고 8 코어 Mac Pro에서도 전체 시스템 속도를 늦추기 때문에 CLI 대체품을 찾는 것이 었습니다 . 또한 여러 인스턴스를 실행하는 스크립트가 아닌 wgetand curl에 대한 멀티 스레드 대체를 원했습니다 . 그래서 나는 더 많은 것을 검색하고 지금 생각하는 것이 가장 현대적인 멀티 스레드 CLI 다운로더 인 aria2라는 것을 발견했습니다 . 내가 가진 큰 문제는 axelSSL을 통해 파일을 다운로드하는 '가짜'였다는 것입니다. 나는 그걸로 그것을 붙 잡았다 tcdump. https평소와 같이 링크를 다운로드하고있었습니다http. 그것은 정말로 나를 화나게했다. 그리고 내가 점검하지 않았다면, 나는 안전에 대한 잘못된 감각을 가지고 있었을 것이다. 많은 사람들이 이러한 심각한 보안 위반에 대해 알고 있다고 의심합니다. 로 돌아 가면 aria2다른 다운로더보다 고급 기능입니다. HTTP (S), FTP, BitTorrent 및 Metalink 프로토콜을 지원하며 멀티 플랫폼이며 다운로드 게릴라입니다. DTA와 달리 CPU 나 하드 디스크에 부하가없는 ISP의 대역폭을 최대화합니다. 맨 페이지는 거대합니다. 나는 많은 옵션 중 몇 가지 이상을 사용하지 않을 것입니다. 그리고 BTW, SSL 성능을 확인했으며 tcdump가짜가 아니라 견고합니다. 편리하지는 않지만 DTA의 동작을 모방 한 스크립트를 작성했습니다.

최대 대역폭을 얻는 데 사용하는 기본 명령은

aria2c --file-allocation=none -c -x 10 -s 10 -d "mydir" URL

-c그것은이 중단 얻는다 경우 다운로드의 지속을 허용 -x 10하고 -s 10서버 당 10 개의 연결을 허용하고, -d "mydir"디렉토리에 출력 파일 mydir.

aria2files.sh:

#!/bin/bash

filename="$1" # get filename from command line argument

while read -r line
do
    if [ "$line" ] # skip blank lines
    then
        if [[ "$line" =~ (https?|ftp)\:\/\/ ]] # line contains a URL, download file
        then
            echo "URL: '$line'"
            aria2c --file-allocation=none -c -x 10 -s 10 -d "$currdir" "$line"
        else # line contains a directory name, create directory if not already present
            echo "Directory: '$line'"
            currdir="$line"
            if [ ! -d "$currdir" ]
            then
                mkdir -p "$currdir" # '-p' enables creation of nested directories in one command
            fi
        fi
    fi
done < "$filename"

다음 형식의 텍스트 파일을 읽습니다.

files.txt:

dierctory 1
url1
url2
…
directory 2/subdirectory/sub-subdirectory/…
url3
url4
…
…
…

스크립트는 명령 행에서 파일 이름을 읽습니다.

aria2files.sh files.txt

디렉토리를 작성하고 다운로드합니다. 두 번째 예와 같이 중첩 된 디렉토리를 작성할 수 있습니다.

자세한 내용은 URL에서 텍스트 파일에 나열된 지정된 디렉토리로 파일을 다운로드하는 내 post Bash 스크립트를 참조하십시오 .


여기에 방법을 적용 할 수 있습니까? askubuntu.com/q/813483/25388 나의 실패한 시도 aria2c -x10 -s10 http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin.
Léo Léopold Hertz 준영

감사합니다 @ hmj6jmh! Rapsberry Pi Model 3의 레코드 : wget -4 -c <https://URL/ISO_FILE>~ 40 KB / sec 제공 ( 87300K .......... .......... 11% 38.7K 4h28m와 동일한 파일을 다운로드 할 때 aria2c --disable-ipv6 -c~ 250 KB / sec ( 144MiB/717MiB(20%) CN:1 DL:250KiB ETA:39m3s]) 제공
tuk0z

1
당신이 (나처럼) Sourceforge를 피하고 싶다면, aria2는 리포지토리의 일부이므로 다음과 같이 설치할 수 있습니다.sudo apt install aria2
Bar

좋은 대답입니다. HTTPS 만 사용하는 사이트의 경우 axel스트레이트 업이 작동하지 않습니다. HTTPS를 사용하도록 업데이트 된 것 같지만 해당 버전이 아직 내 저장소에 없습니다. aria2나를 위해 잘 일했다.
WindowsEscapist
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.