使用dd进行SSHFS服务器I / O延迟testing会得到非常令人惊讶的结果,所以我担心这可能是testing方法或configuration中的一些问题。
testing1在本地RAID 10磁盘上使用dd (512个字节写入一千次)
dd if=/dev/zero of=/root/testfile bs=512 count=1000 oflag=dsync
产量
1000+0 records in 1000+0 records out 512000 bytes (512 kB) copied, 3.34273 s, 153 kB/s
不用说,testing1的结果非常令人失望。
testing2挂载( sshfs -o reconnect -o nonempty -o allow_other -o ServerAliveInterval=15 -o cache=yes -o kernel_cache -o Ciphers=arcfour )使用dd RAID 1磁盘(512字节写入一千次)
dd if=/dev/zero of=/mnt/nas/testfile bs=512 count=1000 oflag=dsync
产量
1000+0 records in 1000+0 records out 512000 bytes (512 kB) copied, 0.0498811 s, 10.3 MB/s
testing2的结果非常令人惊讶,考虑到我平均只有400 kB / s的NFS。
使用dd 控制数据 Linux I / O性能testing
带有RAID 10的服务器:在这个例子中,testing数据被写入一个空分区。 testing系统是2HE英特尔双CPU SC823服务器,带有6个147 GB SAS Fujitsu MBA3147RC(15,000 rpm)硬盘和一个启用了caching的Adaptec 5805 RAID控制器和一个BBU。
test-sles10sp2:~ # dd if=/dev/zero of=/root/testfile bs=512 count=1000 oflag=dsync 1000+0 records in 1000+0 records out 512000 bytes (512 kB) copied, 0.083902 seconds, 6.1 MB/s
本地RAID 10: 512000 bytes (512 kB) copied, 0.00283095 s, 181 MB/s
SSHFS RAID 1: 512000 bytes (512 kB) copied, 0.0557114 s, 9.2 MB/s
问题 :为什么SSHFS的I / O延迟如此之低? 这是否意味着与NFS / CIFS等其他NAS相比,它更适合具有大量小读写的高速caching解决scheme?
我强烈怀疑, oflag=dsync是造成这种情况的原因 – dd在主机上执行,服从这个标志,sshfs而不是传递给服务器,因此它使用caching方法。
通常NFS应该是访问远程存储的最快选项之一。 与SSHFS相比,您的数据不必经过encryption和FUSE堆栈。