无法解释的慢速千兆networking速度

更新

好的,我已经尝试了下面的答案,没有任何改变。 我已经将笔记本电脑中的芯片组标识为NVIDIA nForce 520.我下载了nForce 520的最新Vista x64驱动程序(NVIDIA没有针对Win 7的该芯片组的驱动程序)。 我已经尝试安装附带的防火墙软件(想想也许是干扰 – 不是)。 我已经完全卸载了我的反病毒软件(我正在使用Avast!),认为它的networking过滤驱动程序可能会导致一个问题,这也没有帮助。

我把我的笔记本电脑带到了我的兄弟家,并且能够通过他的100Mbitnetworking以10-12MB / s的速度复制文件,所以我不认为这是硬件。

我运行iperf有一些令人惊讶的结果:
iperf从笔记本发送到服务器(上传)

> iperf -c naru ------------------------------------------------------------ Client connecting to naru, TCP port 5001 TCP window size: 8.00 KByte (default) ------------------------------------------------------------ [328] local 192.168.7.100 port 8549 connected with 192.168.7.6 port 5001 [ ID] Interval Transfer Bandwidth [328] 0.0-10.0 sec 162 MBytes 136 Mbits/sec > iperf -c naru -w 64k ------------------------------------------------------------ Client connecting to naru, TCP port 5001 TCP window size: 64.0 KByte ------------------------------------------------------------ [328] local 192.168.7.100 port 8550 connected with 192.168.7.6 port 5001 [ ID] Interval Transfer Bandwidth [328] 0.0-10.0 sec 1.06 GBytes 909 Mbits/sec 

iperf从服务器发送到笔记本电脑(下载)

 > iperf -c miyuki ------------------------------------------------------------ Client connecting to miyuki, TCP port 5001 TCP window size: 8.00 KByte (default) ------------------------------------------------------------ [256] local 192.168.7.6 port 51871 connected with 192.168.7.100 port 5001 [ ID] Interval Transfer Bandwidth [256] 0.0-10.1 sec 25.2 MBytes 20.8 Mbits/sec > iperf -c miyuki -w 64k ------------------------------------------------------------ Client connecting to miyuki, TCP port 5001 TCP window size: 64.0 KByte ------------------------------------------------------------ [256] local 192.168.7.6 port 51872 connected with 192.168.7.100 port 5001 [ ID] Interval Transfer Bandwidth [256] 0.0-10.0 sec 21.1 MBytes 17.6 Mbits/sec 

为了比较,这里是HTPC和服务器之间的iperf数字

 Server: Naru, Host: CC (CC sends to Naru) iperf -c naru: 0.0-10.0 sec 363 MBytes 305 Mbits/sec iperf -c naru -w 64k: 0.0-10.0 sec 1.06 GBytes 912 Mbits/sec Server: CC, Host: Naru (Naru sends to CC) iperf -c cc: 0.0-10.0 sec 322 MBytes 270 Mbits/sec iperf -c cc -w 64k: 0.0-10.0 sec 1020 MBytes 855 Mbits/sec 

使用wireshark观看从服务器到笔记本电脑的传输networking许多以下条目:

 (:51aa is the server, :37a1 is the laptop) No. Time Source Destination Proto Info 37785 27.286240 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#13] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40517974 37786 27.286258 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#14] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40519414 37787 27.286277 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#15] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40520854 37788 27.286295 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#16] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40522294 37789 27.286313 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#17] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40523734 37790 27.286332 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#18] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40525174 37791 27.286351 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#19] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40499254 SRE=40526614 37792 27.286370 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Previous segment lost] [TCP segment of a reassembled PDU] 37793 27.286372 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP segment of a reassembled PDU] 37794 27.286375 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Fast Retransmission] [TCP segment of a reassembled PDU] 37795 27.286377 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Out-Of-Order] [TCP segment of a reassembled PDU] 37796 27.286379 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Out-Of-Order] [TCP segment of a reassembled PDU] 37797 27.286382 fe80::1569:8500:b24a:51aa fe80::3820:2199:1623:37a1 TCP [TCP Out-Of-Order] [TCP segment of a reassembled PDU] 37798 27.286413 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#20] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40528054 SRE=40529494 SLE=40499254 SRE=40526614 37799 27.286432 fe80::3820:2199:1623:37a1 fe80::1569:8500:b24a:51aa TCP [TCP Dup ACK 37753#21] 8360 > microsoft-ds [ACK] Seq=80228 Ack=40489174 Win=64800 Len=0 SLE=40528054 SRE=40530934 SLE=40499254 SRE=40526614 

在这一点上,我完全和彻底的损失,接下来要做什么。

原来的问题

背景

我目前正在遇到新安装的Windows 7笔记本电脑上的问题。 这个问题最初发生在我安装Windows 7 RC之后。 当这台笔记本电脑上安装了Windows Vista和Windows 7 Beta 1时,我能够以千兆的速度将Jumbo帧打开到9KB / 9014的范围。 笔记本电脑之间的两个开关也支持Jumbo帧。

当从我的服务器复制文件到我的笔记本电脑,他们运行在一个蜗牛的速度(通常低于1 MB /秒),而其他设备通过相同的交换机可以更高的速度(45 – 55 MB /秒)传输。 它似乎从笔记本电脑复制到服务器网速度更快,但没有像它应该是。

涉及的机器

  • Miyuki:笔记本电脑的问题。 Windows 7 x64 RTM。 惠普Pavilion dv9700 CTO。 使用NVIDIA nForce 10/100/1000 Mbps以太网适配器。 (video是GeForce 8400M GS)
  • 纳鲁:服务器与文件。 自定义Windows Server 2008 R2 x64 SP2。 使用D-Link DGE-560T PCI Express千兆位适配器。
  • CC:HTPC在同一台交换机上没有问题。 Windows Vista x86 SP2。 使用板载Realtek RTL8168B / 8111B PCI-E GBE适配器。

拍摄这些图像时,巨型镜框全部closures。

图像

从笔记本电脑启动复制

服务器 – >笔记本
http://www.gibixonline.com/media/netspeed-client-naru-miyuki.png
笔记本 – >服务器
http://www.gibixonline.com/media/netspeed-client-miyuki-naru.png

从服务器启动复制

服务器 – >笔记本
http://www.gibixonline.com/media/netspeed-server-miyuki-naru.png
意外地让服务器从笔记本电脑复制文件到自己的速度,我期望。 (笔记本电脑 – >服务器)
http://www.gibixonline.com/media/netspeed-server-naru-miyuki.png

我之前说过,同一台交换机上的另一台机器没有这个问题。 由于在高清晰度电视上显示高DPI,因此打开了高DPI。
服务器 – > HTPC
http://www.gibixonline.com/media/netspeed-naru-cc.png

当然,作为一个testing,我决定看看我的笔记本电脑和HTPC之间的速度是多less。 不幸的是,他们正是我所期望的。
HTPC – >笔记本电脑
http://www.gibixonline.com/media/netspeed-cc-miyuki.png

最后的笔记

我尝试了所有我能想到的。 即使巨型框架closures在这一点上,似乎没有任何影响。 我已经尝试将我的防病毒保护closures,以改变我使用的电缆。 目前所有使用的电缆都是我build造的CAT-5e。 我尝试从HTPC中取出电缆,并将其插入笔记本电脑,查看布线是否是一个问题。 所讨论的两台交换机是D-Link DGS-1216T和一个支持超大帧的“哑”交换机,D-Link DGS-2208。

尝试禁用窗口的自动调整function。

在CMD窗口中:

 netsh interface tcp set global autotuning=disabled 

重新运行testing,看看你是否注意到性能改进。 我必须在我家的几台运行Windows 7的笔记本电脑上这样做,这是有帮助的。

如果情况变得更糟,或者您没有注意到任何改善,您可以通过以下方式重新启用自动调整function:

 netsh interface tcp set global autotuning=normal 

这似乎是Windows 7的一个大问题。一些玩家抱怨这个问题。

  1. 从命令提示符下(通常在所有程序 – >附件 – >命令提示符下)运行“regedit”
  2. 浏览到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces
  3. 浏览接口下的项目,直到find一个IPAddress条目符合要影响的networking接口(通常LAN IP地址以192.168或10.0开头); 请注意,如果您的IP地址由DHCP服务器自动分配,则可能需要查找匹配的DhcpIPAddress而不是IPAddress
  4. 右键单击界面并selectNew> DWORD(32-bit)Value,将其命名为“TcpAckFrequency”
  5. 用鼠标右键单击新的TcpAckFrequency值并select修改,input“1”(应selecthex单选button)
  6. 右键单击界面并selectNew> DWORD(32-bit)Value,将其命名为“TCPNoDelay”(请注意,TCP此时全部为大写 – 这是故意的)
  7. 右键单击新的TCPNoDelay值并select修改,input“1”(应selecthex单选button)
  8. validationTcpAckFrequency和TCPNoDelay现在都显示在适配器的属性列表中,其types为REG_DWORD,值为0×00000001
  9. 退出regedit并重新启动(重新启动是必要的更改才能生效!)
    1. 玩一个游戏,享受你的新低平

这在大多数游戏中将我的ping从200-300ms减less到50-60ms,这与通过Tracert到游戏服务器的延迟相匹配。

从减lessWindows 7或Vista的游戏networking延迟

要validation笔记本电脑是否没有故障,请运行Ubuntu Live CD,将iperf安装到ramdisk上并运行testing。

这至less应该testingnetworking的一面。

检查丢弃的数据包。 不知道如何在Windows中做到这一点,但如果你有一台Linux机器,你可以在那里检查。

我有一个类似的千兆交换机的经验,千兆模式被打破,丢包。 在这种模式下连接2台机器时,我只看到了麻烦。 在100K模式下,一切都很好。 这是一个令我讨厌的问题,花了我几天的时间才发现。 我可能是一个D-Link。 做一些关于你的开关模型的search。 我做了,发现其他人和我有同样的问题。

我以前遇到过其他AV产品。 我的问题是中小企业和AV产品干扰,即使“禁用”。 你在wireshark中显示出类似的结果。 以下是我查到的许多网站之一: Symantec SMB问题和另一个: SMB2因NTP而失败

另外,您可以尝试禁用/更改SMB中的全部或部分设置。 我甚至会考虑在操作系统上禁用v2。 请阅读本文,其中描述了Win Vista中的SMB问题,并且链接到Microsoft 概述了一些有关SMB reg设置的技术数据 。

我知道你提到过Avast,但是我看到类似wireshark的结果是相当巧合的。 请注意,除了文件传输,一切似乎在我的情况下工作正常。

使用数据包签名时,客户端与Windows服务器通信时遇到问题。 我没有经历缓慢,而是非常普遍的连接中断。

在这里阅读解决scheme,解决我的问题。

另外,我也没有看到任何关于TCP烟囱function的build议,看看其中一个是否已经出错了。

好像os在写入磁盘之前检查数据包。 我观察到所有的缓慢转移是那些试图写入笔记本电脑…我build议

  • 检查笔记本电脑硬盘上分区的块大小(小块大小可能导致尝试传输单个大文件(如此)时可用空间不良的查找时间)
  • 检查任何防火墙策略,检查传入数据包的磁盘写入
  • 检查任何文件活动监视器(由于您卸载防病毒软件,这应该不会出现问题)(正如您知道avast do活动文件检查并且会降低networking传输速度)
  • 碎片整理目标分区(再次寻求空闲空间)

其他人build议,似乎没有帮助:

  • 自动tunning
  • 双工级别
  • 电缆…

最后一个build议是,你可以检查电池模式链接检测nic的高级属性? 这是一台笔记本电脑,可能会有一些节能属性的问题…尝试在电池模式链接检测“没有节能”,并在电池速度设置“全部”。

我在台式电脑上使用win7,这些选项不包括在我的nic的高级属性中。 只要我从来没有遇到过这个问题,你可以检查“stream量控制”的值为“TX和RX Enabled”作为我的networking选项。 巨无霸,速度和双面也是自动在我的configuration…

我想不出任何其他解决scheme…希望这有助于…

以前我跟着我的尾巴跟一段时间完全一样的问题! 单向传输速度慢,在我的情况下,出站(上行链路)。

Windows 7 Pro,带Realtek千兆8111C内置LAN卡的赛扬J1800。 QNAP 453a和MacBook Pro在另一端。

当通过Iperf3进行测量时,我将Windows 7设置为客户端(CPU使用率为25-30%),速度为112 mbps。 设置为服务器时只有39-41 Mbps,CPU占用率在50-100%之间。 如此糟糕的是,个人电脑在带宽testing时会冻结。

无论上传或下载文件到我的NAS或我的MAC,定期文件传输最高限制为45mbps。

我没有超过每秒35-45兆字节。 很沮丧!

结束了一个坏的lan卡驱动程序。 我痴迷于更新驱动程序,并总是在新驱动程序可用时更新驱动程序。 猜猜看,几次更新后,我的LAN卡放慢了速度。

有些人可能会说,只要删除旧的驱动程序,然后安装新的驱动程序。 简单啊? 我尝试过,并没有为我工作。

这是我的解决scheme:

用OEM制造商的网站从头开始安装Windows。 以及我做了以下事情:

在设备pipe理器/网卡/高级设置下/禁用除stream量控制以外的所有设置。

在Windowsfunction下,禁用远程差分压缩。

现在平均速度在80-100 Mbps之间。

通过一切,我假设你已经把网卡设置为全双工,100MBit,而不是自动?

你可能会讨厌这个答案,但我必须说出来!

你有没有尝试更新驱动程序?

我的笔记本电脑(基于Realtek的网卡)出现了类似的问题,它以3MB / s左右的速度传输,但是当我将驱动程序升级到最新的驱动程序时,它的速度提高到了40-50MB / s

只是因为Windows的驱动程序工作,这并不意味着他们是最好的。

我会怀疑这是从服务器到笔记本电脑的path,例如:

  • 交换端口补丁到笔记本电脑
  • 以太网布线或交换机与笔记本电脑之间的连接

Per @ SaucemanSpiff的出色build议是,您是否尝试过使用已知好的CAT5E或CAT6电缆将笔记本电脑直接连接到服务器? 只要至less有一个接口支持千兆位以太网(这意味着自动MDI-X),就不需要特殊的交叉电缆。

  1. 你已经击败了个人电脑死亡更新和testing异地没有失败。 你有没有尝试过更新等服务器上“naru”?

  2. 这个线程中的大多数解决scheme都可以应用到服务器上,你有没有在那里尝试过?

  3. 当你使用Robocopy(有和没有巨无霸)testing时会发生什么? 如果两个方向的速度都很快,那么我会使用netshark在每个方向的副本开始处查看SMB会话标题,看看naru-> miyuki设置中是否有不同的东西。

你有没有尝试过使用teracopy? 我一直在使用这个作为Windows副本的一个标准的替代一年多了,它已经显示出传输速度的改善:)

在黑暗中的一种镜头,但它可以帮助。

  • 在控制面板中禁用“远程差分压缩” – 程序和function – 打开或closuresWindowsfunction。
  • 从networking属性中删除IPv6。 你在你的局域网中使用IPv6吗? 如果不禁用它。
  • 在CLI上使用ipconfig /flushdns清除DNScaching。

如果是由于改变操作系统,那么问题肯定在于操作系统。 你应该尝试安装最新的Windows 7服务包,并保持窗口更新最新的更新。 并希望最好的