我在 Samba 共享上遇到读取速度缓慢的问题。速度缓慢意味着在 Windows 上(1G 有线)大约为 4MB/s,在 OSX(wifi)上大约为 25MB/s。写入速度约为 112MB/s,这会占用我的 1G 网卡。OSX(wifi)到 Windows(1G)大约为 50-60MB/s。
我正在构建的 NAS 是 16G 内存、XEON CPU,镜像中有 2 个 SSD(mdadm),ZFS 镜像中有 2 个 WD red 4TB。当前运行的是 ubuntu 16.04 和 samba 4.3.11。
当我从 SSD 进行本地复制并复制到 SSD 时,我得到了看起来很好的结果。
x@nas:/vms$ sudo dd if=./xxx.mp4 of=/sol/movies/testoutput bs=100k count=1k 1024+0 records in 1024+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 0.860855 s, 122 MB/s x@nas:/vms$ sudo dd if=/sol/movies/xxx.mp4 of=/vms/outputtest bs=100k count=1k 1024+0 records in 1024+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 0.545534 s, 192 MB/s
Samba 配置如下(除了当我使用 sendfile 时 CPU 使用率飙升外,没有明显变化)。
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536 ;use sendfile = yes ;write cache size = 2097152 min receivefile size = 16384 getwd cache = true write raw = yes read raw = yes
此刻我已经没有什么主意了,所以我愿意接受建议。
谢谢
索尔
答案1
查看https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/speed.html
我们得到了一些改进
socket options = TCP_NODELAY
答案2
我遇到了完全相同的问题,通过两步解决。
- 确保 samba.conf 带有选项“aio read size = 0”
- 修复 Windows AutoTuningLevel,https://www.omelsoft.com/fix-slow-internet-windows-10-creators-update/