Автор Тема: Закачка файлов в несколько потоков.  (Прочитано 1202 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Archer

  • Гость
#0: 03 Мая 2004, 11:20:52
Поспорил тут с одним кренделем. Он говорил, что закачка через Reget (для примера) в 1 поток равна по скорости скачивания того же файло в пять потоков. Хотелось бы услышать ваше авторитетное мнение на эту тему. Желательно употреблять много всяких умных слов. :)

СтудеNT

  • *****
  • Сообщений: 21888
    • Просмотр профиля
#1: 03 Мая 2004, 11:27:09
Вопрос не так прост, как это может показаться на первый взгляд. Многое зависит от того, как \"подающая сторона\" выдает Вам этот файл, и какова скорость потока на выдаче. Потом, некоторые FTP-сервера не поддерживают многопоточность...

Archer

  • Гость
#2: 03 Мая 2004, 11:47:54
Нет вопрос очень простой. Рузмеется некоторые сервера не поддерживают многопотоковую закачку. Но вопрос состаит в другом. Вот мы имеем почти идеальный сервер. Он поддерживает многопоточность и всю прочую лабуду. Почему если скачивать с него файл в несколько потоков это будет быстрее чем скачивать файл в один поток?

СтудеNT

  • *****
  • Сообщений: 21888
    • Просмотр профиля
#3: 03 Мая 2004, 16:24:22
Итак:

Имеем ИДЕАЛЬНЫЙ сервер, и ИДЕАЛЬНЫЙ канал с заранее гарантированной пропускной способностью, а так же согласование длин пакетов на передающей/приемной сторонах. Под каналом подразумеваем полный комплект каналообразующего оборудования. В таком случае по каналу за единицу времени пройдет полезный объем данных, ограниченный пропускной способностью канала минус служебная информация.

ВНИМАНИЕ, ВОПРОС:
КАКАЯ РАЗНИЦА, ИДУТ ДАННЫЕ ПОСЛЕДОВАТЕЛЬНО, ИЛИ ПОСЛЕДОВАТЕЛЬНЫМИ КУСКАМИ ??? Вот то-то и оно...

Archer

  • Гость
#4: 03 Мая 2004, 16:52:03
Я чего-то недогнал, это ответ?

dr_labus

  • Гость
#5: 03 Мая 2004, 17:23:29
to Автор: Archer \"\"\"У меня FlachGet1.5--------Если качаешь один файл скорость(пример 2к)А если качаешь с тогоже сервера ПЯТЬ файлов СРАЗУ то скорость каждого примерно 1к----итого 5к!!!!!Почему так? --фиг его знает!!!!!!!!!С уважением dr_labus

СтудеNT

  • *****
  • Сообщений: 21888
    • Просмотр профиля
#6: 03 Мая 2004, 17:41:39
--- Archer
Я чего-то недогнал, это ответ?
---
Да. При ИДЕАЛЬНЫХ условиях разницы НЕТ.

Archer

  • Гость
#7: 04 Мая 2004, 12:50:21
Ну а допустим если взять среднестатистического пользователя, который сидит через среднестатистического провайдера и пытается скачать файл у среднестатистического сервера. Опытным путем можно проверить то, о чем нам говорил dr labus. Но мне интересно знать почему так, а не принимать это за аксиому.

СтудеNT

  • *****
  • Сообщений: 21888
    • Просмотр профиля
#8: 04 Мая 2004, 12:51:43
Для начала очень рекомендую почитать про то, \"как устроен интернет\". Многое СРАЗУ прояснится...

starco

  • *****
  • Сообщений: 19888
    • Просмотр профиля
#9: 04 Мая 2004, 14:52:13
2Archer

Одним из плюсов многопоточной закачки является момент сбоя в контрольной сумме. Если поток один - откат и повторная закачка, т.е. потеря времени. Если несколько - падает скорость закачки одного куска, что не влияет на суммарную скорость - она возрастает для других потоков. Однако все это верно лишь для НЕИДЕАЛЬНЫХ условий работы сервера. НО!!! В идеале общая скорость ограничивается физическим уровнем, и не может быть увеличена \"хитрыми\" механизмами многопоточной закачки. Это верно для 1 файла, скачиваемого с 1 сервера - и тут ваш друг абсолютно прав. Многопоточность выгодна при одновременной закачке нескольких файлов с нескольких серверов (это раз) и при перегруженности передающего сервера (это два)- тут, несомненно, выгода болье, так как разные сервера в разное время испытывают разную нагрузку, кроме того, сказывается удаленность сервера - в таких случаях обычно менеджер закачек выдает ошибку сокета по таймауту или об ошибке сокета а-ля \"Too many users. Try to connect later.\", т.е. перегрузке сервера, вызванной ограничением одновременных подключений или превышением пропускной способности узла (это уже заваисит от настроек конкретного сервера). СтудеNT абсолютно прав - попробуйте почитать немного о принципах работы глобальной сети, в том числе - о тонкостях реализации протоколов :-)))

 

kompas