Параллельная загрузка, как правило, помогает ускорить их все, потому что, если по какой-либо причине один из ваших потоков TCP закачки будет остановлен, другие ваши потоки закачки TCP смогут не допустить потери этой полосы пропускания.
Это хорошая идея, чтобы загрузить несколько файлов параллельно?
Я разрабатываю приложение для загрузки нескольких больших файлов на сервер из домашней сети.
Я могу выбрать любую из следующих стратегий:
- Загрузите каждый файл в последовательности.
- Загрузите их все параллельно.
который быстрее, отмечая, что узким местом является домашняя сеть.
3 ответа на вопрос
Теоретически, ответом будет:
Шесть из одного; полдюжины другого.
Причина в том, что если вы достигаете узкого места в пропускной способности, не имеет значения, загружаете ли вы файлы по одному или несколько одновременно; вы ограничены пропускной способностью.
Что меняет ответ, так это ограничение скорости для соединений на одной стороне. Это видно на некоторых обычных контент-серверах, а также на тех, которые используют протокол Torrenting.
В этом случае, если установленный предел скорости меньше максимальной полосы пропускания на домашней стороне, то имеет смысл передавать несколько файлов, вплоть до суммы, ограничивающей полосу пропускания на домашней стороне.
В вашем случае может потребоваться последовательная загрузка.
Потребительское оборудование не всегда способно выполнять много одновременных подключений и может зависнуть / зависнуть. Если вы ограничите количество одновременных файлов, то параллельная загрузка будет всегда быстрее.
Причина в следующем:
Когда вы делаете перевод с использованием TCP / IP, происходит следующее:
Сначала один пакет отправляется адресату, и соединение ожидает возврата пакета подтверждения, прежде чем отправит следующий пакет.
Затем он отправляет 2 пакета и ожидает подтверждения. Затем он отправляет 3, затем 4, затем 5 и т. Д. Он продолжает увеличивать количество пакетов, пока возвращенный пакет подтверждения не покажет, что не все пакеты были получены. Когда это происходит, скорость снижается и пробуется снова.
Раньше случалось так, что, когда вышеупомянутое случалось, это начинало с 1 снова и увеличивало скорость. Более новая технология уменьшает вдвое количество пакетов и пытается снова, постепенно увеличивая скорость.
Учитывая, что с дополнительным трафиком пропускная способность для этой передачи может быть уменьшена, весьма вероятно, что полная скорость не поддерживается все время.
Если одновременно передаются 2 или более файлов, доступная пропускная способность используется более эффективно. Если одна передача останавливается, и скорость значительно снижается, то существует момент, когда освобождается полоса пропускания, которая не используется этой передачей. Другие процессы могут поглотить эту пропускную способность, делая передачу еще более медленной. Но если передается 2 или более файлов, более вероятно, что объединенная скорость более или менее будет оставаться неизменной, а это означает, что даже если одна из передач была замедлена, другая передача, вероятно, получит эту оставшуюся полосу пропускания.
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?
-
-
4
Есть ли способ поделиться сканером многофункционального принтера?
-
3
Есть ли способ соединить два компьютера через USB?
-
8
Почему скорость загрузки ниже, чем скорость загрузки в обычных интернет-соединениях?
-
3
Как сохранить несколько подключений к интернету?
-
14
Просмотр веб-сайтов анонимно
-
9
Что такое облачные вычисления?
-
4
iPod-Touch для воспроизведения фильмов с ПК на PS3?