Ограничения на передачу данных для каждого сокета. Полезны ли менеджеры загрузки?

#sockets #tcp #download-manager

#сокеты #tcp #download-manager

Вопрос:

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

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

Комментарии:

1. Привет, не могли бы вы уточнить, какой менеджер загрузки вы рассматриваете? На каком языке? Для какого протокола TCP? У меня есть ответ, но я хочу убедиться, что я понимаю сценарий.

2. Я говорю в целом. Я не уверен, что концепция менеджеров загрузки актуальна на сегодняшний день.

3. Одной из причин использования менеджеров загрузки (со стороны клиента) является поддержка возможности восстановления в случае сбоя в сети. Это все еще проблема сегодня, особенно если вы используете GSM-соединение 🙂

4. Все в порядке. Вопрос сосредоточен на их преимуществах в скорости.

Ответ №1:

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

Ответ №2:

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

Разделение загрузки на части может фактически повредить производительности вашего клиента из-за способа работы TCP — у него есть механизм «медленного запуска», который снижает пропускную способность при новых соединениях.

Веб-сайты, которые реализуют регулирование, обычно делают это между своими различными виртуальными хостами (чтобы сайт загрузки не истощал более интерактивный) или будут делать это на основе удаленного IP-адреса.

Безусловно, основное преимущество менеджера загрузки заключается в том, что он просто продолжит загрузку, если соединение разорвется.