无法解释的慢速千兆网络速度


18

更新资料

好的,我尝试了以下答案,但没有任何改变。我已经在笔记本电脑中将芯片组标识为NVIDIA nForce520。我为nForce 520下载了最新的Vista x64驱动程序(NVIDIA尚未针对Win 7对该芯片组提供任何驱动程序)。我尝试安装随附的防火墙软件(认为可能会造成干扰-并非如此)。我已经完全卸载了我的防病毒软件(我正在使用Avast!),以为它的网络过滤器驱动程序可能会引起问题,但也没有帮助。

我将笔记本电脑带到兄弟们的房子里,并能够通过他的100Mbit网络以10-12 MB / 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观察从服务器到便携式计算机的传输,可以看到许多以下条目:

(: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时,我能够以十亿分之一的速度传输,并且巨型帧已打开到9KB / 9014范围。笔记本电脑之间的两个开关也支持巨型帧。

将文件从服务器复制到笔记本电脑时,它们以蜗牛般的速度运行(通常小于1 MB /秒),而通过同一交换机的其他设备可以更高的速度(45-55 MB /秒)传输。从笔记本电脑复制到服务器网络的速度似乎更快,但应有尽有。

涉及的机器

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

拍摄这些图像时,所有巨型帧均已关闭。

图像

从笔记本电脑开始复制

服务器->笔记本电脑(来源:gibixonline.com 笔记本电脑->服务器



从服务器启动复制

服务器->便携式计算机(来源:gibixonline.com 出乎意料的是,让服务器将文件从便携式计算机复制到自身会导致我期望的速度。(笔记本电脑->服务器)(来源:gibixonline.com




前面我曾说过,同一交换机上的另一台计算机没有此问题。高DPI已打开,因为它显示在HDTV上。
服务器-> HTPC (来源:gibixonline.com

自然地,我决定查看笔记本电脑和HTPC之间的速度,以此作为测试。不幸的是,它们正是我所期望的。HTPC-
>笔记本电脑(来源:gibixonline.com

最后的笔记

我已经尝试了所有我能想到的。此时甚至连巨型帧都关闭了,似乎没有任何影响。我尝试关闭防病毒保护,以更改使用的电缆。目前使用的所有电缆都是我制造的CAT-5e。我尝试从HTPC中取出电缆,然后将其插入笔记本电脑中,以查看电缆连接是否存在问题。有问题的两个开关是D-Link DGS-1216T和一个支持巨型帧的“哑”开关D-Link DGS-2208。


1
您是否尝试过使用像iperf(适用于iperf win32的Google)之类的工具来测量可用带宽?我对此表示怀疑-但值得检查,否则请仔细检查是否没有双工不匹配。
pQd

您是否尝试过将pscp之类的东西发送到附近的服务器,以查看使用该服务器的速度如何?
克里斯,克里斯,

1
您是否尝试过将服务器和笔记本电脑交叉连接在一起,以便它们之间没有切换?
约瑟夫

恭喜@约瑟夫说的话。请尝试从方程式中消除开关。
杰里米·维瑟

Answers:


5

尝试禁用Window的自动调整功能。

在CMD窗口中:

netsh interface tcp set global autotuning=disabled 

重新运行测试,看看您是否注意到性能改进。我不得不在自己家里几台运行Windows 7的笔记本电脑上执行此操作,它对此有所帮助。

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

netsh interface tcp set global autotuning=normal

3

对于Windows 7,这似乎是一个大问题。一些游戏玩家抱怨此问题。

  1. 从命令提示符(通常在所有程序->附件->命令提示符中)运行“ regedit”
  2. 浏览到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces
  3. 浏览接口下的项目,直到找到一个IPAddress条目与要影响的网络接口相匹配的条目(通常,LAN IP地址以192.168或10.0开头);请注意,如果您的IP地址是由DHCP服务器自动分配的,则可能需要查找匹配的DhcpIPAddress而不是IPAddress
  4. 右键单击接口,然后选择“新建”>“ DWORD(32位)值”,将其命名为“ TcpAckFrequency”
  5. 右键单击新的TcpAckFrequency值,然后选择“修改”,输入“ 1”(应选择十六进制单选按钮)
  6. 右键单击该接口,然后选择“新建”>“ DWORD(32位)值”,将其命名为“ TCPNoDelay”(请注意,这次TCP都是大写的-这是有意的)
  7. 右键单击新的TCPNoDelay值,然后选择“修改”,输入“ 1”(应选择十六进制单选按钮)
  8. 验证TcpAckFrequency和TCPNoDelay现在都显示在适配器的属性列表中,其类型为REG_DWORD并且值为0×00000001
  9. 退出regedit并重新启动(重新启动对于更改生效是必需的!)
    1. 玩游戏并享受您的新低响

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

来自减少Windows 7或Vista中的游戏网络延迟


1
tracert使用ICMP,而不是TCP。这些密钥用于TCP,因此它们对ICMP不变。不知道为什么您通过tracert看到了更好的响应时间
Mathieu Chateau

好吧,我继续尝试了一下,但看起来还是一样。我正在使用更多信息和我尝试过的东西来更新原始问题。
约书亚

2
马修(Matthieu),他没有说他从陪练中看到了更好的时光。他说,游戏中的等待时间等同于Tracert,这意味着TCP流量中观察到的等待时间类似于正常运行的ICMP流量中的等待时间。
MDMarra

3

要验证笔记本电脑是否没有故障,请运行ubuntu live cd,将iperf安装到ramdisk上并进行测试。

这至少应该测试它的网络端。


1

检查丢弃的数据包。不确定如何在Windows中执行此操作,但是如果您有Linux机器,则可以在此处进行检查。

我对千兆位交换机有类似的体验,其中千兆位模式被破坏并丢弃数据包。在这种模式下连接两台计算机时,我只会遇到麻烦。在100K模式下,一切都很好。这是一个令人讨厌的问题,我花了几天的时间才知道。我可能曾经是D-Link。对您的交换机模型进行一些谷歌搜索。我确实发现其他人也遇到了与我相同的问题。


1

我之前曾在其他AV产品中遇到过这种情况。我的问题是SMB,即使“禁用”,该AV产品也会受到干扰。在wireshark中显示了类似的结果。这是我检查出根本原因的许多站点之一:Symantec SMB问题,另一个:NTP导致SMB2失败

此外,您可以尝试禁用/更改SMB中的全部或某些设置。我什至会考虑在OS上禁用v2。请查看描述Win Vista中SMB问题的本文,此指向Microsoft的链接概述了有关SMB reg设置的一些技术数据

我知道您提到过Avast,但碰巧的是,我看到了类似的Wireshark结果。请注意,在我的情况下,文件传输以外的所有功能似乎都可以正常工作。


1

使用数据包签名时,客户端与Windows Server通信时遇到问题。我没有遇到速度慢的问题,但是却遇到了非常常见的连接中断问题。

在此处阅读有关解决我的问题的解决方案。

另外,在这里我也看不到任何建议一个一地关闭TCP烟囱功能,以查看其中之一是否出错。


也被这件事烧死了……
Ben Campbell

1

似乎os在写入磁盘之前正在检查数据包。我观察到所有缓慢的传输都是试图写入笔记本电脑的传输...我建议

  • 检查笔记本电脑硬盘上分区的块大小(尝试传输单个大文件时,较小的块大小可能会导致空闲空间的寻找时间变差(等等))
  • 检查所有检查传入数据包以进行磁盘写入的防火墙策略
  • 检查任何文件活动监视器(由于要卸载防病毒软件,因此应该不用担心)(因为您知道avast会进行实时文件检查,这会稍微降低网络传输速度。)
  • 对目标分区进行碎片整理(再次寻找可用空间)

其他建议,似乎没有帮助:

  • 自动调整
  • 双工水平
  • 电缆...

最后一个建议是,您可以检查nic的高级属性的电池模式链接检测吗?这是一台笔记本电脑,省电属性可能存在一些问题...在电池模式链接检测中尝试“不节能”,在电池速度设置中尝试“满”。

我在台式机上使用win7,但这些选项未包含在nic的高级属性中。只要我从未遇到过此问题,就可以将NIC的选项“ Flow Control”的值检查为“ TX and RX Enabled”。巨人功能已禁用,“速度和双工”也自动在我的配置中...

我想不出任何其他解决方案...希望能对您有所帮助...


1

以前,我追捕完全相同问题的尾巴已有一段时间!一个方向的传输速度较慢,在我的情况下为出站(上行链路)。

Windows 7 Pro,带有Realtek千兆8111C内置lan卡的Celeron J1800。另一端是QNAP 453a和MacBook Pro。

通过Iperf3进行测量时,将Windows 7设置为客户端时,我的速度为112 mbps(CPU使用率为25-30%)。设置为服务器时只有39-41 Mbps,CPU占用率高达50-100%。如此糟糕,以至于在进行带宽测试时PC会冻结。

无论我是要上传文件还是要下载文件到NAS或MAC,常规文件传输的最大速度都不能超过45mbps。

我得到的速度不超过每秒35-45兆字节。相当令人沮丧!

最终成为一个坏的lan卡驱动程序。我一直沉迷于更新驱动程序,并且总是在有新驱动程序可用时更新我的​​驱动程序。猜猜是什么,经过几次更新,我的局域网卡速度变慢了。

有人可能会说,只需删除旧驱动程序并安装新驱动程序即可。简单啊?我试了又试,这对我没有用。

这是我的解决方案:

使用制造商网站上的OEM驱动程序从头开始安装Windows。同样,我执行了以下操作:

在“设备管理器” /“ Lan卡” /“高级设置”下/“禁用除流量控制之外的所有内容”。

在“ Windows功能”下,禁用“远程差分压缩”。

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


0

无论如何,我都假设您已将网卡设置为全双工,100MBit,而不是自动?


1
为“非自动”设置+1 :)
dimitri.p,2009年

是的,我已经尝试了我的卡支持的所有变体... 10个一半,10个完整,100个一半,100个完整和1000个完整。那些都没有以任何方式影响它,并且根据切换,他们确实以1000满协商。
约书亚,

10
如果交换机不可管理,则永远不要这样做。如果您在一侧强制全双工,但在另一侧强制自动,则另一侧变为半双工。然后,您开始丢失数据包(很多...)。您无法管理的开关是自动的。在服务器上保持自动状态,并检查接口是否已协商为全双工。还要检查接口错误。
Mathieu Chateau 2009年

4
-1表示“非自动”。您需要在两端(交换机和NIC)使用相同的配置,包括自动协商。
dunxd 2011年

5
我很好奇,您是否尝试过从等式中删除开关,并从“服务器”直接将交叉电缆连接到“笔记本电脑”?
SpacemanSpiff

0

您可能会讨厌这个答案,但是我必须说!

您是否尝试过更新驱动程序?

我在笔记本电脑(基于Realtek的NIC)上遇到类似的问题,它的传输速度约为3MB / s,但是当我从其站点将驱动程序升级到最新驱动程序时,它的速度高达40-50MB / s

仅仅因为Windows驱动程序有效,并不意味着它们是最好的。


哈哈,是的,那实际上是我尝试过的第一件事。现在,我回到了内置的Windows 7驱动程序中,但是我也尝试了最新的nvidia驱动程序。我没有尝试过的唯一驱动程序是Windows 7 beta或Vista中的驱动程序。
约书亚

尝试使用Vista,看看效果如何。我有几个小问题,现在已在Win7的更新中修复。我通过安装Vista硬件驱动程序进行了手动修复。
David Rickman

0

我会怀疑这是从服务器到笔记本电脑的路径上的东西,例如:

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

根据@SaucemanSpiff的出色建议,您是否尝试过使用已知的优质CAT5E或CAT6电缆将便携式计算机直接连接到服务器?只要所涉及的至少一个接口支持千兆位以太网(这意味着Auto MDI-X),就不需要特殊的交叉电缆。


0
  1. 您已经用更新击败了PC,并在场外进行了无故障测试。您是否尝试过在服务器“ naru”上进行更新等?

  2. 其他人建议的该线程中的大多数解决方案都可以应用于服务器,您是否在那里尝试过?

  3. 使用Robocopy(带和不带巨型盘)进行测试时会发生什么?如果在两个方向上都很快,那么我将使用netshark在每个方向上的副本开头查看SMB会话标头,并查看naru-> miyuki设置中是否看起来有所不同。


0

您是否尝试过使用Teracopy?一年多来,我一直在使用它作为Windows复制的标准替代品,并且显示出传输速度的改进:)


-1

有点在黑暗中拍摄,但可能会有所帮助。

  • 在控制面板-程序和功能-启用或禁用Windows功能中禁用“远程差分压缩”。
  • 从网络属性中删除IPv6。您在局域网中使用IPv6吗?如果没有禁用它。
  • ipconfig /flushdns在CLI上使用清除DNS缓存。

-1

如果是由于更改操作系统而引起的,那么问题肯定出在操作系统上。您应该尝试安装最新的Windows 7 Service Pack,并使用最新更新来保持Windows更新。并希望最好

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.