Как сделать wget более быстрым или многопоточным?

Я только что обновил аппаратное обеспечение своего компьютера (процессор + материнская плата + графическая карта + память + жесткий диск), так что требуется установка новой ОС. Я попытался загрузить debian-6.0.6-amd64-netinst.iso с wget команда, но скорость настолько медленная, что я не мог этого вынести. 4Kb/s ~ 17 Kb/s, медленно, как бегущая черепаха, или еще медленнее, если я использую Chrome.

Я прочитал справочную информацию о wget, кажется, что нет никаких вариантов, которые могли бы сделать это более быстрым.

Есть ли в любом случае, чтобы сделать wget быстрее? Или это возможно сделать многопоточность скачать?

PS: моя пропускная способность составляет 4 метра. Я использую эту команду:

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

Почему бы не попробовать axel? Это полноценный загрузчик на основе командной строки.

Устанавливать axel и спавн скачать с помощью

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

где '[Num_of_Thread]' это количество параллельных подключений, которые необходимо создать для каждой ссылки, которую вы хотите загрузить.

-a просто покажите улучшенный индикатор выполнения.

В отличие от многих других менеджеров загрузки, Axel загружает все данные непосредственно в конечный файл, используя один поток. Это экономит некоторое время в конце, потому что программе не нужно объединять все загруженные части.

Я пытался axel на Гуфранэто рекомендация, но она меня очень разочаровала. Моя цель состояла в том, чтобы найти замену CLI для DownThemAll потому что это перегружает процессор и жесткий диск и замедляет работу всей системы даже на 8-ядерном Mac Pro. Я также хотел многопоточную замену для wget и curl, а не какой-то клудж скрипта, который запускает несколько их экземпляров. Поэтому я поискал дальше и нашел то, что, как мне кажется, прямо сейчас является самым современным многопоточным загрузчиком CLI, который только существует -- ариа2. Большая проблема, с которой я столкнулся с axel заключалось в том, что он "подделывал" загрузку файлов по протоколу SSL. Я поймал его за этим занятием с tcdump. Это была загрузка https ссылки как обычные http. Это действительно разозлило меня, и если бы я не проверил, у меня было бы ложное чувство безопасности. Я сомневаюсь, что многие люди знают об этом серьезном нарушении безопасности. Возвращаясь к aria2, он более продвинутый, чем любой другой загрузчик. Он поддерживает протоколы HTTP (S), FTP, BitTorrent и Metalink, является мультиплатформенным и является партизаном загрузки. Это максимально увеличивает пропускную способность моего интернет-провайдера без нагрузки на процессор или жесткий диск, в отличие от DTA. Справочная страница просто гигантская. Я никогда не буду использовать больше, чем несколько из его многочисленных вариантов. И, кстати, я проверил его производительность 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/bashfilename="$1" # get filename from command line argumentwhile read -r linedo    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    fidone < "$filename"

Он считывает текстовый файл формата:

files.txt:

dierctory 1url1url2…directory 2/subdirectory/sub-subdirectory/…url3url4………

Скрипт считывает имя файла из командной строки:

aria2files.sh files.txt

Он создает каталоги и загружает их. Он может создавать вложенные каталоги, как показано во втором примере.

Для получения более подробной информации см. Мой пост Скрипт Bash для загрузки файлов с URL-адресов в указанные каталоги, перечисленные в текстовом файле.

wget просто использует ваше соединение. Так что, если он медленный, это ваше соединение с сервером. Может быть, вы медлительны, может быть, сервер медлителен.
кстати, 4 мбит = 0,5 Мбит / с, не говоря уже о потерях и т.Д

@Dr_Bunsen” спасибо за ваш совет, я попробовал команду, предложенную “@Gufran”: “axel”, по сравнению с “wget”, “axel” быстрее, чем когда-либо. Я думаю, что в большинстве ситуаций узким местом моей скорости загрузки являются 1 . что-то заняло полосу пропускания (как вы сказали: ** Я медленный **). 2. однопоточный. 3. сервер работает медленно. Но я не имею никакого отношения к пункту 1 и 3.

@Teifi Одна из возможностей, если многопоточность axel работает лучше, чем wget, при использовании одного и того же удаленного сервера, задержка между вашим ящиком и удаленным сервером очень высока. Проверьте свой пинг на удаленном сервере.

Вы пробовали HTTrack? HTTrack Website Copier - Free Software Offline Browser (GNU GPL)