Что ограничивает производительность scp?


13

У меня есть две машины Debian Linux, подключенные через 1 Гбит LAN. Я могу измерить это с помощью необработанной передачи HTTP-файла, скорость wgetкоторой составляет около 100 МБ / с в любом направлении.

Когда я сейчас использую scp, максимум без сжатия, который я получаю, составляет около 15 МБ / с . Включение сжатия с -Cфлагом дает мне, в зависимости от содержимого, до 50 МБ / с .

Тем не менее, здесь, похоже, пропадает много пропускной способности. Я не беспокоился в течение долгого времени, пока мне действительно не пришлось думать о некоторых очень больших передачах лог-файлов, и я просто осознал, насколько странно медленный процесс scp. Это естественно для меня, чтобы использовать scp, даже в среде компании, потому что вся инфраструктура настроена для этого.

Что так сильно ограничивает производительность scp? Это связано с процессором из-за шифрования? Когда я использую htopэто, кажется, что он не использует многоядерные процессоры, только один из четырех процессоров максимально.

Есть ли способ увеличить пропускную способность? У меня есть HTTP-серверы и samba, но для перемещения файлов между компьютерами Linux я обычно просто использую SSH, так я и вырос. Но теперь это заставляет меня задуматься, кажется, мне нужно рассмотреть другие способы передачи больших объемов данных.

HTTP используется только для конкретного приложения в PHP / Java / что угодно, а samba используется по некоторым особым причинам, нам нужен доступ с машин Windows.


Ответ от JooMing работал для меня невероятно, но -Cопция сжатия сделала его медленнее (21 МБ / с вместо 112 МБ / с). Поэтому, пожалуйста, позаботьтесь с -C.
математика

Ответы:


7

Вероятно, это шифрование. Вы можете попробовать scp с разными шифрами, например:

scp -c arcfour src dest

Проверьте справочную страницу ssh_config для доступных шифров. RC4 (arcfour) - быстрый шифр, но, вероятно, не такой безопасный, как некоторые альтернативы.


Следует отметить , что использование RC4 является не обеспечение и связь может быть легко нарушена.
Эван Дарвин

6

Частично это может быть связано с внутренней реализацией OpenSSH. Взгляни на HPN-SSH, чтобы найти достойное объяснение одной причины узких мест и исправлений для OpenSSH, которые могут ее устранить (если вы хотите исправлять и перестраивать из исходных текстов).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.