我从 NFS 切换到 SMB/CIFS,因为 NFS 的权限系统让我很恼火。我在使用 NFS (1GB Lan) 时从未遇到过性能问题,并且在写入 Synology NAS 时写入和读取速度约为 70-90 MB/s。
我使用 dd 测试写入性能(将 500MB 写入我的 SMB 挂载):
[user@archStd01 Transfer]$ dd if=/dev/zero of=/home/user/NAS/Transfer/test bs=512 count=1000000
1000000+0 Datensätze ein
1000000+0 Datensätze aus
512000000 Bytes (512 MB, 488 MiB) kopiert, 675.388 s, 758 kB/s
正如你所看到的,它的性能非常差,平均为 758 kB/s
我的文件系统表:
//192.168.1.100/Transfer /home/user/NAS/Transfer cifs credentials=/home/user/.smbcredentials,uid=1000,gid=1000,vers=3.0,rw 0 0
目前我浏览了一些 SMB 手册,但没有发现太多有关性能问题的内容。有人知道从哪里开始吗?
//编辑 使用 10MB 块大小的 dd 进行性能测试
[user@archStd01 Transfer]$ dd if=/dev/zero of=/home/user/NAS/Transfer/test bs=10M count=500
500+0 Datensätze ein
500+0 Datensätze aus
5242880000 Bytes (5.2 GB, 4.9 GiB) kopiert, 406.979 s, 12.9 MB/s
它好多了,但离快速还很远。
答案1
我只是在思考一个听起来类似的 CIFS 性能问题。与 Windows 客户端和我们的 Samba 服务器之间的传输速度很快,但从服务器到两台 Ubuntu 机器(运行 bionic)的下载速度很慢。使用 SCP 而不是 CIFS 进行传输没有速度问题,所以问题不在于底层网络。按照建议在这个 ubuntuforums 主题上,我尝试添加缓存=松散我的 Ubuntu 客户端在 /etc/fstab 中的 cifs 挂载配置,现在两个方向的速度都符合我的预期(在我的情况下约为 x7-10 改进)。
//server/share /media/localMountPoint cifs cache=loose,rw,...
然而,正如发帖者在 ubuntuforums 帖子上所警告的那样,根据mount.cifs 手册页:
当多个读取器和写入器处理同一文件时,cache=loose 可能会导致数据损坏。
我碰巧在一个用户很少的家庭网络上,所以这对我来说是可以接受的。