Как можно ускорить SSHFS в локальной сети?

Я использую SSHFS для передачи файлов под Linux между моим ноутбуком и настольным компьютером. Это проще, чем NFS, потому что не нужно заранее настраивать точки монтирования и разрешения.

Теперь использование SSHFS медленнее, чем я ожидаю от 100-битного соединения Ethernet (к сожалению, у ноутбука нет Gigabit Ethernet). Я получаю около 10 МБ / с вместо 12,5 МБ / с. Может ли служебная нагрузка протоколов "стать" "остальной" (что будет 2,5 МБ / с)?

Переключение с IPv4 на IPv6 не улучшило скорость. С помощью -C для сжатия сделал процесс еще медленнее.

SSHFS позволяет передавать параметры в базовый SSH (используя -o SSHOPT=VAL). Ну, там много параметров SSH.
По опыту, какой из этих параметров может улучшить скорость соединения SSHFS?

5 ответов

Решение

Вы получаете около 80 Мбит / с из вашей ссылки 100 Мбит / с. Это довольно близко к теоретическому пределу ссылки (вы редко получаете что-то вроде номинальной скорости соединения) и это вполне разумная цифра для достижения.

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

sshfs -o Ciphers=arcfour,Compression=no,auto_cache

сжатие замедляется на упаковке / распаковке

arcfour сверкает быстро!!! не на 100% безопасно. LAN ТОЛЬКО

auto_cache позволяет вам хранить файл локально во временном хранилище, чтобы он не был доступен по сети во второй раз.

с этим 1GB подключение к серверу для меня в два раза быстрее.

Вы можете "ограничить" издержки шифрования, используя "arcfour" в качестве шифра. Опция SSH - "-c arcfour"

Тот факт, что сжатие замедлило передачу, может указывать на высокую загрузку процессора.

Каковы соответствующие конфигурации и использование процессора при передаче с использованием sshfs?

Что касается того, что вы используете скорость 100 Мбит / с, вы можете проверить свою скорость с другими протоколами / накладными расходами, такими как FTP.

Iperf также можно использовать в этом случае для проверки пропускной способности, не обращая внимания на замедление работы диска.

SSHFS работает поверх SSH. Одним из ключевых факторов производительности SSH является алгоритм шифрования, который вы используете для шифрования данных. Разработчики SSH постоянно добавляют новые алгоритмы для обеспечения безопасности и отказываются от старых, которые обычно легче.

В зависимости от версий SSH на каждом конце вы можете использовать какой-нибудь старый более легкий алгоритм, такой как arcfour или Blowfish, установив его в параметрах SSHFS или в файле /etc/ssh/ssh_config.

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

      [root@backup]# ssh -Q cipher
3des-cbc
blowfish-cbc
cast128-cbc
arcfour
arcfour128
arcfour256
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com

Если arcfour и/или Blowfish недоступны (наиболее вероятно в 2023 году), вы можете использовать [email protected] — очень легкий, но быстрый шифр.

Еще одним важным параметром, влияющим на производительность, является сжатие. В зависимости от вашего процессора, возможно, будет быстрее отключить его, как показано в примере ниже.

      compression=yes|no

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

      cache=yes,kernel_cache

Самый простой способ протестировать — включить параметры в саму команду монтирования.

      sshfs -o Ciphers=chacha20-poly1305@openssh.com,compression=no,reconnect,cache=yes,kernel_cache,ThreadCount=2 you@server.com:~/ /mnt/sshfs 

Помимо вышесказанного, вы также можете включить Jumbo Frames в своей сети, что поможет повысить скорость передачи больших файлов. О том, как настроить Jumbo Frames в Windows и Linux, вы можете прочитать здесь:

https://33hops.com/vmware-esxi-enable-jumbo-frames-increase-mtu.html

Другие вопросы по тегам