Создание многопроцессного загрузчика Axel
Могу ли я запустить несколько процессов параллельно акселя, чтобы загрузить один и тот же файл? Каждый раз, когда я начинаю новый процесс:
axel -a -n 10 http://image-net.org/image/ILSVRC2017/ILS VRC2017_DET.tar.gz
Я получаю уведомление:
Initializing download: http://image-net.org/image/ILSVRC2017/ILSVRC2017_DET.tar. gz
File size: 60855983982 bytes
Opening output file ILSVRC2017_DET.tar.gz.0
State file found: 5103495158 bytes downloaded, 55752488824 to go.
Starting download
Тогда все мои параллельные процессы показывают одинаковые загруженные% в строке состояния.
axel -a -n 10 http://image-net.org/image/ILSVRC2017/ILSVRC2017_DET.tar.gz
[ 9%] [0 1 2 3 4 5 6 7 8 9 ] [ 2,5MB/s] [ 5h57]
отличается только скорость и оставшееся время
Когда я работаю в многопроцессорном режиме, у меня всего 10 Мбит / с, иначе 2 Мбит / с только для процесса.
1 ответ
Согласно справочной странице, axel
будет использовать несколько соединений отдельно, нет необходимости запускать его несколько раз.
Пример загрузки с использованием 4-х соединений:
axel -a -n 4 http://mirror.switch.ch/ftp/ubuntu-cdimage/18.04/ubuntu-18.04-desktop-amd64.iso
Initializing download: http://mirror.switch.ch/ftp/ubuntu-cdimage/18.04/ubuntu-18.04-desktop-amd64.iso
File size: 1921843200 bytes
Opening output file ubuntu-18.04-desktop-amd64.iso.0
Starting download
[ 30%] [....0 .....1 .....2 ....3 ] [ 11.1MB/s] [01:54]^C
....N
ясно показывает, что он использует 4 соединения
Пример загрузки через соединение 6:
axel -a -n 6 http://mirror.switch.ch/ftp/ubuntu-cdimage/18.04/ubuntu-18.04-desktop-amd64.iso
Initializing download: http://mirror.switch.ch/ftp/ubuntu-cdimage/18.04/ubuntu-18.04-desktop-amd64.iso
File size: 1921843200 bytes
Opening output file ubuntu-18.04-desktop-amd64.iso.0
State file found: 583252805 bytes downloaded, 1338590395 to go.
Starting download
[ 32%] [....0 .....1 .....2 ....3 ] [ 9.9MB/s] [02:04]
Есть еще 4 соединения! Кажется, что axel
будет повторно использовать частичную загрузку, но будет продолжать использовать то же количество подключений.
Пример загрузки с использованием соединения 6 (после удаления временных файлов):
rm ubuntu-18.04-desktop-amd64.iso*
axel -a -n 6 http://mirror.switch.ch/ftp/ubuntu-cdimage/18.04/ubuntu-18.04-desktop-amd64.iso Initializing download: http://mirror.switch.ch/ftp/ubuntu-cdimage/18.04/ubuntu-18.04-desktop-amd64.iso File size: 1921843200 bytes Opening output file ubuntu-18.04-desktop-amd64.iso Starting download
[ 2%] [0 1 2 3 4 5 ] [ 11.1MB/s] [02:40]
Теперь мы можем видеть axel
используя 6 соединений.
Обратите внимание, что скорость загрузки не может быть уменьшена из-за количества подключений, и в этом случае вы только увеличите нагрузку на сеть и на удаленный хост.