为什么我看到如此低的SMB传输吞吐量?


10

好的,故事的内容比标题所暗示的要多。

背景和环境:我正在通过SMB将数个TB从较旧的Ubuntu服务器复制到较新的Windows 2012服务器。(从技术上讲,这是商用硬件,但它们是这里的服务器。)每个人都在千兆位LAN上,较旧的Ubuntu机顶盒具有绑定的接口。我相信Ubuntu服务器有两个Rosewill PCI-e 1x以太网卡,Windows服务器有一个相当不错的PCI Intel以太网卡。

目标计算机(Windows服务器)正在运行奇偶校验超过4个2TB驱动器的存储池。它正在运行Microsoft的新ReFS。源计算机(Ubuntu服务器)正在运行软件RAID镜像。EXT4运行良好。

两台服务器通过单个千兆交换机运行。我已经尝试过在源计算机(Ubuntu)上断开绑定,而没有进行任何改进。

问题:我可以以合理的速度从其他计算机传输到Windows服务器。其他计算机可以毫不费力地保持50-80MB / s的速度,但是从该Ubuntu服务器进行传输的最大速度不超过20MB / s。以20MB / s的速度传输4TB以上的数据需要花费很长时间(大约2.3天),我想知道我该怎么做才能找出瓶颈所在。

症状:两台计算机上的CPU都非常小,并且肯定不会异常繁忙。两台计算机上的硬盘驱动器均处于活动状态,但没有被淹没,至少在Ubuntu服务器上,CPU IOwait几乎为0%。

我进行了35秒钟的Wireshark跟踪(大概足够长,以确保所有ACK都用于新数据包),并注意到有很多我没想到的事情。(1)从Windows到Ubuntu,没有任何ACK(和某些SMB数据包)的校验和。但是,Wireshark声称这可能是由于“ IP校验和卸载”。好的,我那里有一张漂亮的卡片。我想网卡可能会执行校验和计算。精细。继续...(2)“ TCP ACK看不见的段。” 我有这个问题。ACK数在我所能告知的范围内,并且通常有大量的这些消息块。也许Wireshark太慢了?

摘要:传输速度很慢(通过千兆以太网的速度为20MB / s),我不知道为什么。Wireshark声称Windows正在确认Ubuntu从未发送过的东西。

猜猜:我最初的猜测是,更便宜的Rosewill卡正在被淹没。我的第二个猜测是,在一端或另一端的类似RAID的软件正在被很多事情淹没。


2
从Ubuntu服务器复制到台式机之一(不是Server 2012)的速度是多少?也许是WinXP或Win7?我在使用Server 2008及更高版本的SMB进行数据包签名和加密时遇到了很大的问题。
2013年

更新:我最终不得不重新启动(由于内核崩溃)。不幸的是,系统现在每次启动时都会出现内核崩溃。我拿出我可信赖的Knoppix副本并安装了驱动器,现在一切都很好。现在,我正在通过SSH复制,但我仍然不知道瓶颈在哪里。 sshd在Knoppix方面占用了一个处理器的60%。无论如何,我的转让即将完成。@Dom:既然您提到了它,我不记得将所有数据放在那里的速度比30MBps快得多。
安迪

2
@LorenzoVonMatterhorn,请避免使用URL缩短器。
Cristian Ciupitu

您确定这不是磁盘问题吗?
MariusMatutiae

2
在过去的4-5年中,Windows实现了SMB协议(SMB 2)的快速版本,该版本不那么健谈,而且在线效率更高。我不知道这些更改何时会出现在Samba中,但听起来像是较旧的Ubuntu具有较旧的Samba,也许Knoppix具有较新的版本。
uSlackr 2013年

Answers:


1

当Samba(不确定这是否仍然是默认值;已经很长时间了)配置了默认的读写套接字缓冲区大小为1024字节时,您的性能差距与常见的经验相匹配。

我以前经常在Linux和Mac计算机上看到这种情况。希望不是那样。

samba的配置文件中有一个套接字选项参数,您可以在其中设置读写套接字缓冲区的大小。建议您将两者都设置为8192字节(8 KiB)。4或8 KB通常很相似,但是我还没有在千兆链接上进行测试。

另外,不要指望单个TCP连接会从绑定链接中受益,流量几乎总是通过其中一个链接进行;否则,您将面临大量乱序数据包的处理;因此,仅在为多个客户端提供服务时才有望获得负载平衡优势。即使这样,您也应该查找不同的绑定模式,并知道至少对于“模式4”(IEEE 802.3ad)绑定,基本上有两种传输哈希模式,它们确定要从哪个从属接口发送出去。有第2层哈希(默认)和第3层哈希。如果通过网关发送大量数据,则第2层哈希值分布不佳,因为网关的MAC地址相同。考虑改用第3层。


0

我曾经在一台Ubuntu计算机上有两张以太网卡,由于某种原因,它无法正常工作-它们都争相看似相同的数据包,所以有时我会得到答复,有时却不会,这取决于是否抓住了另一块网卡。包装好的。真奇怪 我一定以某种方式对它进行了错误配置,但我以为它会起作用。这些卡当然具有唯一的IP地址。

无论如何,您只要在连接到网络的计算机中仅使用一张以太网卡就可以尝试,以排除这种情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.