нижняя граница для скорости загрузки в wget

Насколько я знаю, это просто потеряно. Консоль Linux только хранит историю, пока Вы не изменяетесь на другую консоль. Если Вы хотите сохранить больше истории, используйте Экран.

2
29.01.2012, 20:57
3 ответа

Необходимо решить базовую проблему вместо этого. Поэтому проанализируйте, почему Ваша скорость соединения отбрасывает, и удалите причину.

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

2
27.01.2020, 21:55
  • 1
    Маловероятно, что можно решить проблему, если это не машина, и это могло бы быть где угодно. Регулировка ISPs является хорошим примером. отличное решение –  Attila O. 12.03.2012, 07:22
  • 2
    @AttilaOláh, почему не "Ваша машина"? Я не вижу подсказки об облаке или чем-либо еще там вопрос. Но то же верно для "не Ваша сеть" - но я часто видел такие эффекты compined с функциональностью сохранения питание (на машине - не сеть). –  Nils 12.03.2012, 13:23
  • 3
    Да, положительная сторона у сохранения питание. Это просто, что я закончил на уровне этой страницы, потому что мой ISP, кажется, регулирует загрузки единственного Запроса HTTP (или возможно на уровне TCP, если они считают пакеты в соединении). Некоторые "усовершенствованные" менеджеры загрузок имеют функциональность, чтобы использовать много запросов параллельно и перезапустить поток, если скорость опускается ниже указанного порога. Я говорю "усовершенствованный" в кавычках, потому что я ненавижу дерьмо GUI, которое идет с теми менеджерами загрузок, и они даже не scriptable, таким образом, я все еще предпочитаю wget. –  Attila O. 12.03.2012, 14:12

Вероятно, что или сайт, который Вы загружаете с или Ваш ISP, регулирует Вашу пропускную способность через некоторое время. Это может помочь ограничить скорость передачи с --limit-rate.

Существует несколько опций, которые говорят wget прыгать с парашютом. Передача --tries (-t) управлять количеством повторений. Можно получить лучшие результаты, если Вы измеряете повторения шагами немного с --wait и возможно --wait-random. Wget автоматически возобновит, где он остановился, если сервер поддерживает его. Если скорость передачи регулируют к очень низкому показателю, то --read-timeout с очень маленьким параметром сказать 0.1 в течение одной десятой секунды, перезапустит соединение, если уровень опустится ниже одного пакета в 0,1 с. Обратите внимание, что соединение будет также перезапущено, если Вы не получите пакета в течение того отрезка времени из-за сетевого незначительного сбоя.

Если Вы знаете заранее приблизительно, сколько времени Вы имеете прежде чем быть отрегулированным, то запишите отрывок оболочки, который уничтожает процесс wget и запускает его снова с -c опция продолжить загружать. Предупреждение, непротестированный; работа с фоновыми подпроцессами в оболочке является небольшим wonky, таким образом, я рекомендую использовать Perl или Python для серьезной работы.

while wget -q -c http://example.com/wibble & wget_pid=$!
      { sleep 300; kill $wget_pid; } & kill_pid=$!
      wait $wget_pid
      kill $kill_pid
      wait
do sleep 10; done
2
27.01.2020, 21:55

Моя версия поддержек wget, повторяющих после использования тайм-аута без загрузок read-timeout как это...

$ wget -c --read-timeout=5 http://thefile.com/getme.txt

36% [+++++++++++++++++++++++++++++++++++++++++++======>                                                                                        ] 280,061,984 --.-K/s   in 6m 16s  

2012-05-09 16:04:23 (105 KB/s) - Read error at byte 280061984/761323675 (Operation timed out). Retrying.

Кажется, нет никакого способа установить нижний предел, но он излечил меня много при продолжении загрузок - и надо надеяться другие люди, ищущие эту проблему.

2
27.01.2020, 21:55

Теги

Похожие вопросы