我经常使用sshfs在网络上挂载各种磁盘。但是,我确实有一台非常小的机器(带有原子处理器),需要使用sshfs从中安装目录。
使用sshfs挂载时,是否可以禁用所有压缩,甚至禁用加密,以限制从中挂载目录的计算机上的cpu使用情况?
我经常使用sshfs在网络上挂载各种磁盘。但是,我确实有一台非常小的机器(带有原子处理器),需要使用sshfs从中安装目录。
使用sshfs挂载时,是否可以禁用所有压缩,甚至禁用加密,以限制从中挂载目录的计算机上的cpu使用情况?
Answers:
尽管高性能ssh添加了无密码,但是arcfour密码几乎与之一样快,并且已成为标准密码。
使用: -o Ciphers=arcfour
我一直在本地网络上使用它,我得到了100Mbps以太网的大约85%或大约10.625MB / s
(作为对vava的回答,即使关闭了ssh的加密,sshfs仍然是它的样子,因为身份验证协议仍将处于活动状态,否则,您不妨使用telnet。)
@osgx的注释我最近发现了OpenSSL:Cipher Selection,其中包括以下图形:
以下是该页面的结果部分。该图和结果令人怀疑,因为它们没有说明基准是如何完成的以及在什么硬件上进行的,但是我认为它们相差不远。
100,000 Kbyte / s是我可以接受的性能极限。这表示1个CPU内核(在我的情况下为8个)以100%的利用率运行,以传输780Mbit / s的数据(这对于千兆位以太网链路来说是一个合理的饱和点)。
如果使用不支持AESNI的处理器,则RC4是最快的密码。
AES-128是第二快的密码,如果您支持AESNI,则它比RC4快得多。如果不这样做,速度会慢54%。AES-256仍然较慢,除非另有明确配置,否则任何支持AES-128的浏览器也将支持AES-256。
上面引述的内容清楚地表明,arcfour(以及带有AESNI的 AES )可以使现代机器上的千兆链路饱和。
如果不需要加密,则来自hpn-ssh的无密码甚至更快,但是仅当您需要使带宽达到千兆链路带宽的几倍或者需要减少CPU使用率时,才需要加密。
arcfour
在大多数现代OpenSSH安装中不推荐使用cipher并缺少该密码,您可以chacha20-poly1305@openssh.com
改用。
对于不加密的sftp,请使用sshfs
+socat
在服务器端运行
socat TCP4-LISTEN:7777 EXEC:/usr/lib/sftp-server
而在客户端
sshfs -o directport=7777 remote:/dir /local/dir
资料来源:http : //pl.atyp.us/wordpress/index.php/2009/09/file-transfer-fun/
,bind=127.0.0.1
选项。要允许到服务器的多个连接,请添加,fork
选项。做一个只读服务器?添加-R
到EXEC命令。最后,它看起来像这样:(socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'
在Arch Linux上,我不得不使用它/usr/lib/ssh/sftp-server
)。
,range=192.168.1.2/32
,仅允许连接一台特定的计算机。
您可以使用挂载-o compression=no
以关闭压缩功能。无法关闭加密,之后将不再是sshfs :)如果速度较慢,我建议使用其他方式挂载目录,例如通过samba,nfs或ftp。
我认为压缩只有在压缩时间被传输数据所补偿的情况下才真正更快。因此,慢速连接上的压缩速度可能比没有连接时快6倍。快速连接上的压缩根本没有用,因为由于您或主机系统上的压缩延迟而降低了速度。一些主机根本不接受压缩,因为它们不想在用户身上花费处理器能力。
我认为此开关-o Ciphers=arcfour
将使加密速度提高到几乎没有加密,并且-o cache=yes -o kernel_cache -o large_reads -o compression=no
由于它会稍微优化sshfs ,因此可能会大大提高您的速度。如果可以压缩,低速连接上的压缩将大大加快您的传输速度;大部分是。例如,我确实使用了2 Mbit / s的下行速度和0.3 Mbit / s的连接速度,并且将传输速度提高了大约3-5分钟,而不是25-30分钟,传输了大约30 MByte。