我試圖將一個多GB文件從一臺服務器傳輸到另一臺服務器;問題是RTT是150ms +。我已經嘗試過使用aria2,但它僅限於16個連接,lftp沒有任何防止停頓傳輸的保護。使用多個連接進行卷曲下載
我想知道是否可以使用curl cli下載一個帶有多個連接的文件。
我試圖將一個多GB文件從一臺服務器傳輸到另一臺服務器;問題是RTT是150ms +。我已經嘗試過使用aria2,但它僅限於16個連接,lftp沒有任何防止停頓傳輸的保護。使用多個連接進行卷曲下載
我想知道是否可以使用curl cli下載一個帶有多個連接的文件。
不,捲曲工具沒有這種能力。
(噢,順便說一句,大RTT是很少解釋爲什麼一個普通的TCP傳輸速度慢)
有一個叫pcurl腳本包捲曲做到同時執行多個下載,然後在完成時將它們結合起來。
,缺省值爲10個連接,但這可以在MAX_SEGMENTS上線81
來改變它被調用這樣的:
./pcurl.sh http://myurl.to/a/very/largefile.zip
這是可能的。使用curl中的-I
選項獲取總文件大小。
然後你可以在一個shell中fork很多進程,每個curl
連接一個不同的Content-Length
頭文件來下載不同部分的文件。
完成所有任務後,將所有下載切片合併到一個大文件中。
我寫了一個簡單的腳本,在這裏可以使用mcurl.sh,使用-s
選項,您可以指定創建多少個任務來下載大文件。