나의 출발점은이 문제. 이제 aria2가 파일을 다운로드하고 있지만 예상만큼 빠르지는 않습니다. (저는 i7, 기가비트 연결 및 AC-wifi가 있는 Macbook Pro에서 실행하고 있습니다. 체인의 링크 하나도 최대화하지 않습니다. ).
이 스위치에는 aria2를 사용합니다
-x 16 -s 1
파일이 작기 때문에 다운로드할 때마다 여러 소켓(-s 1)을 열 이유가 없습니다. 하지만 여러 파일을 병렬로 다운로드하면(-x 16. 16이 최대값입니다. 그렇죠?) 전체 속도가 빨라지겠죠?
그러나 출력 로그를 읽어보니 다운로드가 병렬로 진행되지 않는 것 같습니다. aria 사용 방법에 대해 뭔가 빠졌나요?
아니면 병목 현상이 있는 aria에 URL을 공급하고 있습니까? (저는 find . -tf를 사용한 다음 결과를 사용하여 문자열 연결을 통해 aria에 공급된 URL을 작성합니다)?
답변1
aria2c
단일 다운로드만 전송하고 파일이 작은 경우 여러 연결을 열어도 큰 도움이 되지 않습니다. 하지만 여러 aria2c
명령을 병렬로 쉽게 실행할 수 있습니다.xargs -P <num>
값이 서버가 허용하는 것보다 크지 않은지 확인하십시오 -P
. 그렇지 않으면 서버가 오류를 반환합니다.
find . -type f -printf '%P\n' \
| xargs -I{} -P6 aria2c -x 1 -s 1 "https://web.archive.org/save/https://{}"
또는 xargs
모든 URL을 하나의 aria2c
호출에 추가합니다.
find . -type f -exec 'https://web.archive.org/save/https://%P\n' \
| xargs aria2c -x 16 -s 1
find
하지만 내 생각에 가장 좋은 옵션은 파이프 aria2
와 xargs
.
aria2c -x 16 -s 1 -i <(find . -type f -printf 'https://web.archive.org/save/https://%P\n')