Як порівняти FTP, FTPS, SFTP та SCP за швидкістю передачі та як я можу порівняти їх шляхом тестування?
Як порівняти FTP, FTPS, SFTP та SCP за швидкістю передачі та як я можу порівняти їх шляхом тестування?
Відповіді:
Якщо у вас є мережа швидко широкої області ви побачите , що sftp
і scp
приблизно з тією ж швидкістю, що повільно. Вони обидва страждають від продуктивних проблем у нижньому просторі. З сучасним обладнанням це відбувається не через шифрування накладних витрат, а скоріше через проблеми з реалізацією opensh - воно реалізує власний внутрішній механізм вікон, який руйнується при швидких з'єднаннях.
Ці проблеми стають більш очевидними на міжміських (більших затримках) з'єднаннях, але я відчував повільність навіть у локальних мережах.
Вони добре задокументовані, і для виправлення проблеми доступні патчі. Виправлення будь-якого кінця з'єднання може допомогти; в ідеалі ви б заклеїти обидва кінці. Для отримання додаткової інформації та виправлень див. Високоефективний SSH у центрі суперкомп'ютерів Пітсбурга.
BTW, накладні шифрування також можуть стати проблемою, як тільки проблема вікна буде вирішена. Патчі також мають виправлення для цього.
Тим часом ви виявите, що ftp
це страшенно небезпечно; він надсилає паролі в простому тексті.
ftps
Я думаю, що загортає ftp-протокол у SSL. це, мабуть, швидше, ніж непатронний SFTP / SCP
Останнє зауваження: з мого досвіду, клієнт WinSCP болісно повільний (принаймні іноді). Я не знаю чому, але, виходячи з їхніх питань, я не єдина людина, яка мала цю проблему. Тож якщо ви скапуєте з Windows, і це здається повільним, спробуйте іншого клієнта. Навіть з незапакованим сервером opensh ви можете зробити багато, набагато краще з іншим клієнтом. На жаль, я не впевнений, які хороші клієнти.
Загалом усі протоколи будуть виконувати приблизно однаково. Ви швидше обмежені швидкістю вашої мережі чи диска, ніж протоколом.
Старіші версії OpenSSH (SFTP / SCP) використовували фіксований розмір вікна, який обмежуватиме швидкість руху в мережах з високою затримкою (скажімо, трансатлантичні). Існує набір патчів для виправлення цієї проблеми під назвою HPN (Високопродуктивна мережа) і вона включена в більшість сучасних установок OpenSSH.
Якщо ви стикаєтеся з такою ситуацією, як гігабітна або швидша мережа локальної мережі та більш повільний процесор, то SFTP / SCP може зіткнутися з вузьким місцем. Ви зможете сказати, оскільки процес ssh / scp / sftp буде використовувати 100% процесора для хостингу для надсилання або отримання. Якщо ви використовуєте більш нову версію OpenSSH (6.4+), ви можете ввімкнути потокову версію шифра AES, яка зможе використовувати більше 1 ядра для обробки шифрування і менше шансів обмежуватись процесором, а не диском або пропускну здатність мережі.
Якщо ви керуєте як стороною, що надсилає, так і отримує, OpenSSH 6+ також має додатковий режим "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 на будь-який випадковий вікні вашої мережі, а потім запустіть типову передачу файлів і подивіться, скільки часу потрібно на обидва