2017-02-22 36 views
0

Я пишу программу передачи файлов с помощью websockets, есть ли способ увеличить скорость с помощью многопроцессорности? Например, используя несколько процессов для создания нескольких веб-портов между двумя компьютерами, разделение файлов на столько частей и отправка каждой части через каждый процесс, увеличивает ли это скорость передачи?Веб-порты, использующие многопроцессорность

ответ

1

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

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

Это может вас заинтересовать: https://www.howtogeek.com/141257/htg-explains-how-does-bittorrent-work/

Например, если у вас есть 56К соединение, независимо от того, в скольких местах вы положили части файла, загрузка будет ограничена 56К. Если у вас есть 100Mb LAN, но ваш сосед находится на 56K, вы можете загружать только часть файла из него на 56K. Если у вас есть еще один сосед на файлах, поддерживающих линию 10 Мб, теперь вы можете загружать детали на 10Mb + 56K и т. Д. Если вы получите другого соседа с линией 1 Гбит, вы сможете скачать его на 100 Мб, это максимум вашей линии. И если ваш сосед в 56K позволит вам достичь другого соседа с безумной линией в 100 ГБ, вы все равно будете ограничены 56K вместе с ним.

 Смежные вопросы

  • Нет связанных вопросов^_^