通过千兆局域网将文件传输到 Windows 文件服务器的速度很慢

通过千兆局域网将文件传输到 Windows 文件服务器的速度很慢

我希望有人能帮我解决困扰我几年的问题。自从 14.04(我已升级到 14.10、15.04、15.10、16.04、16.10、17.04)以来,我在千兆局域网上的传输速度一直很差。我说的是 8-12MB/s。我当然也尝试过我的 smb.conf 文件,但运气不佳。前几天,当我准备放弃并返回 Windows 时,我发现了一篇很有帮助的晦涩帖子:
Ubuntu 16.04 上的网络连接非常慢

我现在能够下载大约 40MB/s,上传大约 50MB/s。在此之前我从未听说过 gai.conf,虽然它带来了巨大的变化,但仍然不值得大书特书。我在同一个网络上有类似的 Windows 客户端,可以轻松获得 100MB/s 以上。

文件服务器最初是 Server 2012,然后是 Server 2012 R2,现在是 Server 2016。虽然可以预期 Windows 客户端可能“可能”会更快一些(Samba 对 SMB 的支持程度如何?)但我认为始终保持 80MB/s 的速度并不算过分。

我搜索了 Google 以寻找答案,并尝试了许多 smb.conf 设置(主要更改套接字选项),并尝试启用巨型帧(我的交换机支持),但没有任何帮助。我还尝试过禁用 IPv6。我在 smb.conf 中的当前套接字选项是:

socket options = TCP_NODELAY SO_RCVBUF=524288 SO_SNDBUF=524288 IPTOS_LOWDELAY

我有一台类似的机器,装有 ubuntu mate,也有同样的问题。我从未尝试过除 ubuntu 之外的任何其他发行版,所以我不知道这是 Linux、Samba 还是 ubuntu 的问题。我记得读过 Jeff Atwood 的一篇文章(很久以前,我再也找不到了),关于 ubuntu 的网络堆栈很慢,这就是为什么从 ubuntu 服务器切换到 CentOS。

我到处都有 Cat 7,并尝试更换电缆,但没有成功。我已将我所有机器上的网卡标准化为英特尔千兆网卡。如果我可以为您提供任何诊断数据,请告诉我。我也尝试在 ubuntuforums 上询问这个问题,但我得到的回答却是一片空白。

编辑。我​​有一块(我认为是一块蹩脚的)板载 Realtek 千兆卡 (RTL8111/8168/8411),它比我的英特尔卡 (82574L) 表现更好,而且无论是下载速度还是上传速度都比英特尔卡快大约 10MB/s。令人惊讶的是,我仍然没有达到我想要的水平。

相关内容