Как FTP, FTPS, SFTP и SCP сравниваются с точки зрения скорости передачи и как я могу сравнить их при тестировании?
Как FTP, FTPS, SFTP и SCP сравниваются с точки зрения скорости передачи и как я могу сравнить их при тестировании?
Ответы:
Если у вас есть сеть быстро широкой области вы увидите , что sftp
и scp
примерно с той же скоростью, что медленно. Они оба страдают от проблем с производительностью в основном openssh. На современном оборудовании это происходит не из-за накладных расходов на шифрование, а скорее из-за проблем с реализацией openssh - он реализует свой собственный механизм внутреннего управления окнами, который нарушает быстрые соединения.
Эти проблемы становятся более очевидными при соединении на большие расстояния (с более высокой задержкой), но я испытывал медлительность даже в локальных сетях.
Они хорошо документированы, и исправления доступны для решения проблемы. Исправление любого конца соединения может помочь; в идеале вы должны исправить оба конца. Для получения дополнительной информации и исправлений см. Высокопроизводительный SSH в Питтсбургском суперкомпьютерном центре.
Кстати, издержки шифрования тоже могут стать проблемой, как только проблема окон будет решена. Патчи также исправили это.
Между тем, вы обнаружите, что ftp
это крайне небезопасно; он отправляет пароли в виде простого текста.
ftps
Я думаю, что оборачивает протокол FTP в SSL. это, вероятно, быстрее, чем непатентованный SFTP / SCP.
Последнее замечание: по моему опыту, клиент WinSCP (по крайней мере иногда) мучительно медленный. Я не знаю почему, но, основываясь на их FAQ, я не единственный, у кого была эта проблема. Так что, если вы работаете с Windows, и это кажется медленным, попробуйте другой клиент. Даже с непатентованным сервером openssh вы можете сделать намного лучше с другим клиентом. Я не уверен, какие хорошие клиенты, к сожалению.
В целом все протоколы будут работать примерно одинаково. Скорее всего, вы будете ограничены скоростью вашей сети или диска, а не протоколом.
В более старых версиях OpenSSH (SFTP / SCP) использовался фиксированный размер окна, который ограничивал бы скорость в сетях с высокой задержкой (скажем, трансатлантических). Существует набор исправлений для решения этой проблемы, называемый HPN (высокопроизводительные сети), и он включен в большинство современных установок OpenSSH.
Если вы работаете в такой ситуации, как гигабитный или более быстрый канал локальной сети и более медленный процессор, SFTP / SCP может столкнуться с узким местом. Вы сможете сказать, потому что процесс ssh / scp / sftp будет использовать 100% процессора на отправляющем или получающем хостинге. Если вы используете более новую версию OpenSSH (6.4+), вы можете включить многопоточную версию шифра AES, которая сможет использовать более 1 ядра для обработки шифрования и с меньшей вероятностью будет ограничена ЦП, а не диском или пропускная способность сети.
Если вы управляете как отправляющей, так и принимающей стороной, OpenSSH 6+ также имеет опциональный режим «NONECIPHER». Он использует обычное шифрование / ключи и т. Д. Для входа на удаленную машину, но затем переходит к незашифрованному соединению для фактического копирования файла. Это снимет нагрузку на процессор. В NONECIPHER встроены средства защиты, которые не позволяют получить оболочку без шифрования.
В конце концов, протокол не должен быть ограничением по скорости, хотя более старые версии ssh действительно имеют проблемы с каналами с высокой задержкой.
Исходя из издержек шифрования, я бы сказал, что обычный FTP, вероятно, имеет немного лучшую производительность, чем другие протоколы, но, вероятно, он незначителен. Я бы сначала использовал протокол, который обеспечивает необходимую вам безопасность, а затем беспокоился о пропускной способности.
При этом вам нужно будет установить тест, чтобы найти реальные цифры. Все выше только мое мнение. Если вы тестируете производительность локально, настройте сервер в своей сети. Если конечное использование будет через Интернет, проверьте с внешнего хоста.
Как всегда, Google содержит ответы:
FTP v / s SFTP v / s FTPS, в
котором говорится, что FTP> FTPS> SFTP
FTP также оказывается быстрее, чем SCP в чужом тесте ( http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542 ) но я бы порекомендовал попробовать это на себе.
Так что просто настройте SCP и FTP на любом случайном устройстве в вашей сети, затем запустите обычную передачу файлов и посмотрите, сколько времени потребуется для обоих