7

Так почему же загрузка по FTP так медленная? Я использую Filezila в качестве клиента.

У меня около 10 МБ на 1000 файлов, и я могу загрузить каждый отдельный файл со скоростью 300-500 Кбит / с, но вся загрузка невероятно медленная из-за процесса очередей, который происходит при загрузке файлов. Для каждого отдельного файла клиент выполняет все виды команд и операций подключения перед фактической загрузкой.

Нет ли способа пропустить эти команды? Я новичок в FTP-клиентах / загрузки / веб-сайты и т.д. Это стандартная практика? Это просто способ загрузки по FTP? Вам не скучно ждать 20 минут за 8-10 мб?

Как я могу эффективно загрузить 100 МБ или больше?

4 ответа4

9

К сожалению, именно так работает FTP. Чтобы эффективно передавать множество небольших файлов, либо заархивируйте их локально, либо передайте весь архив через ftp, а затем разархивируйте файлы на удаленном компьютере, либо включите одновременную загрузку, когда клиент загружает одновременно 10 файлов. Это поможет полностью насытить вашу ссылку для загрузки.

2

Вы пытались сжать файлы локально, а затем разархивировать их на сервере? Тогда вам нужно будет передать только один маленький файл.

Если это применимо, вы также можете копировать только те файлы, которые изменились с момента вашей предыдущей загрузки. Такие инструменты, как rsync (если у вас есть доступ по ssh) и robocopy (если это сервер Windows), могут помочь вам в этом.

1

Я использую Auto FTP Manager. Он выполняет несколько одновременных FTP-передач, поэтому можно использовать всю пропускную способность канала:

Auto FTP Manager позволяет легко планировать и автоматизировать ваши FTP-передачи. Используйте Auto FTP Manager для подключения к любому FTP-серверу и автоматической загрузки и скачивания файлов. Планируйте и автоматизируйте свой рабочий процесс. Позвольте вашему ПК перемещать или синхронизировать файлы между ПК на FTP-сервер, ПК на ПК и FTP-сервер на FTP-сервер, автоматически по расписанию ...

... Auto FTP Manager является многопоточным, что позволяет открывать подключения к нескольким FTP-серверам одновременно. Программа может передавать файлы в фоновом режиме, пока вы работаете над другими задачами.

1

Я знаю, что это старый пост, и вы не можете многое сделать на прикладном уровне, поскольку FTP использует TCP для отправки байтов. Есть несколько вещей, хотя

  1. Включите одновременную загрузку, как упомянуто выше (это помогает использовать большую часть пропускной способности, так как TCP требует времени для "наращивания" каждого соединения, поэтому параллельная загрузка более эффективна)
  2. Архивируйте файл, как упомянуто выше (опять же, потому что он позволяет TCP увеличиваться со временем, а не индивидуально для каждого файла)
  3. Ознакомьтесь с SuperTCP: это новый продукт, который (полное раскрытие) я помогаю создавать, который оптимизирует загрузку TCP, что может помочь FTP работать быстрее во многих случаях. Мы скоро запустим бета-версию и хотели бы, чтобы вы помогли нам протестировать ее!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .