本地networking速度较慢

更新于2014-10-09

放弃

这个问题类似于不明原因的慢速千兆networking速度,但是因为后者在5年后仍然没有答案,而且我认为我能够添加更多的细节,所以我在这个主题上发布了另一个问题。

背景

我们有2台DELL PowerVault NX200存储服务器。 两款产品均采用Broadcom BCM5716板载双千兆网卡(从中只使用一个端口)。 这些存储服务器附带Windows Server 2008 Storage Basic SP2,我最近重新安装并更新到最新版本。

我们最近经历了服务器的低速networking速度。 我之前没有testing过连接速度,所以我不能说出“正常”吞吐量是多less。 不过,现在肯定很慢。

问题

来自两台服务器的吞吐量大约是5-6 Mbits / sec 。 这是通过几天的Iperf运行测量的。 吞吐量到服务器是大约90兆比特/秒。

其他工具和方法给出了相同的结果(例如ttcp或使用Windows资源pipe理器,Teracopy …复制文件)。 我将坚持Iperf的结果排除尽可能多的不相关的组件(如SMB)。

什么都行不通

我尝试了几件事情,但都没有奏效。

  • 使用不同的全新networking电缆。 我没有用于正确testing布线质量的工具,但是在其他计算机上使用相同的电缆的速度会更快。

  • 使用在另一台Windows 2008 R2服务器上正常工作的不同网卡(BCM5709)。

  • 拔下所有其他计算机,并将服务器隔离在交换机上。

  • 将服务器连接到不同的交换机并没有改善。

  • 卸下任何交换机并直接将NIC连接到NIC。

  • 将NIC驱动程序和软件更新到QLogic的最新版本。

  • 将NIC参数更改为每个“速度和双工”模式。 “自动协商”将始终以最快的速度达到目标。

  • 与其他网卡的参数相同,例如Jumbo Packet大小(与交换机支持相匹配)。 大多数情况下,它没有改变任何东西,只是当事情变得更糟。

  • 我也尝试了所有的netsh interface tcp set global参数,其中包括许多人build议离开禁用的autotuninglevel。

  • 在registry中设置TCPWindowSize 。 在Windows 2008上忽略此设置。

什么工作

启动到CentOS 6. CentOS LiveCD上的一切都很好。 罪魁祸首可能是Windows,驱动程序或设置,而不是NIC,交换机或电缆。

(可能)相关的问题

我能够从Windows TCP缩放比例很高的时候再现大部分的结果。 在Iperftesting期间强制TCP窗口也导致更高的速度。 它看起来像Windows的TCP窗口缩放在传输时不能正常工作。

Iperf结果

在两台服务器之间,.12网卡手动设置为100Mbps全双工:

 [ 4] local 192.168.1.14 port 51535 connected with 192.168.1.12 port 5001 [ ID] Interval Transfer Bandwidth [ 4] 0.0-15.1 sec 640 KBytes 348 Kbits/sec [ 4] local 192.168.1.14 port 5001 connected with 192.168.1.12 port 50498 [ 4] 0.0-10.3 sec 6.00 MBytes 4.90 Mbits/sec 

在两台服务器之间,.12网卡手动设置为100Mbps半双工(在“自动”上结果相同):

 [ 4] local 192.168.1.14 port 51541 connected with 192.168.1.12 port 5001 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.2 sec 6.38 MBytes 5.23 Mbits/sec [ 4] local 192.168.1.14 port 5001 connected with 192.168.1.12 port 50509 [ 4] 0.0-10.3 sec 6.12 MBytes 4.99 Mbits/sec 

这可能是stream量控制在networking和交换机上的问题,请参阅下面的文章,并确保您禁用networking和交换机上的stream量控制。

http://www.smallnetbuilder.com/content/view/30212/54/

networkingfilter(特别是第三方防火墙和/或防病毒软件)可能导致奇怪的networking故障。

您可以检查安装了哪些filter(在PowerShell中):

 ls 'HKLM:\SYSTEM\CurrentControlSet\Control\Network\{4d36e974-e325-11ce-bfc1-08002be10318}' | % { $_.GetValue('Description') } | sort 

或手动与registry编辑器。

此外,在iperftesting期间检查网卡驱动程序的DPC(延迟过程调用)时间。 http://www.thesycon.de/deu/latency_check.shtml

另外,尝试在环回连接上运行iperf(或最好是ntttcp)。