AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 51891
In Process
Joshua
Joshua
Asked: 2009-08-09 15:26:56 +0800 CST2009-08-09 15:26:56 +0800 CST 2009-08-09 15:26:56 +0800 CST

无法解释的千兆网速慢

  • 772

更新

好的,我已经尝试了以下答案,但没有任何改变。我已将笔记本电脑中的芯片组识别为 NVIDIA nForce 520。我为 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/秒)。从笔记本电脑复制到服务器的速度似乎更快,但并不像它应该的那样。

涉及的机器

  • Miyuki:有问题的笔记本电脑。Windows 7 x64 RTM。HP Pavilion dv9700 首席技术官。使用 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。

windows-server-2008
  • 15 15 个回答
  • 29687 Views

15 个回答

  • Voted
  1. Tim Kennedy
    2011-11-05T10:25:55+08:002011-11-05T10:25:55+08:00

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

    在 CMD 窗口中:

    netsh interface tcp set global autotuning=disabled 
    

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

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

    netsh interface tcp set global autotuning=normal
    
    • 5
  2. JJ01
    2009-08-09T20:29:21+08:002009-08-09T20:29:21+08:00

    这似乎是 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. 右键单击界面并选择 New > DWORD (32-bit) Value,将其命名为“TCPNoDelay”(注意这次 TCP 都是大写的——这是故意的)
    7. 右键单击新的 TCPNoDelay 值并选择修改,输入“1”(应选择十六进制单选按钮)
    8. 验证 TcpAckFrequency 和 TCPNoDelay 现在是否显示在适配器的属性列表中,类型为 REG_DWORD,值为 0×00000001
    9. 退出 regedit 并重新启动(需要重新启动才能使更改生效!)
      1. 玩游戏并享受新的低 ping

    这将我在大多数游戏中的 ping 从 200-300 毫秒降低到 50-60 毫秒,这与我通过游戏服务器的跟踪器看到的延迟相匹配。

    取自减少 windows 7 或 vista 中的游戏网络延迟

    • 3
  3. hookenz
    2011-11-07T16:12:04+08:002011-11-07T16:12:04+08:00

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

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

    • 3
  4. Chris Yunker
    2009-08-09T17:41:16+08:002009-08-09T17:41:16+08:00

    检查丢弃的数据包。不知道如何在 Windows 中执行此操作,但如果您有一台 linux 机器,您可以在那里查看。

    我在千兆位交换机上也有类似的经历,其中千兆位模式被破坏并丢弃数据包。我只在这种模式下连接了 2 台机器时才看到问题。在 100K 模式下,一切都很好。这是一个令人讨厌的问题,我花了几天时间才发现。我可能是 D-Link。对您的交换机型号进行一些谷歌搜索。我做了,发现其他人和我有同样的问题。

    • 1
  5. Ben Campbell
    2011-11-05T18:16:23+08:002011-11-05T18:16:23+08:00

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

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

    我知道你提到了 Avast,但我看到类似的wireshark 结果是相当巧合的。请注意,在我的情况下,除了文件传输之外的所有内容似乎都可以正常工作。

    • 1
  6. Dom
    2011-11-05T19:32:45+08:002011-11-05T19:32:45+08:00

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

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

    此外,我在这里没有看到任何建议一一关闭 TCP 烟囱功能以查看其中一个是否出错。

    • 1
  7. Hasan Manzak
    2011-11-09T14:00:09+08:002011-11-09T14:00:09+08:00

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

    • 检查笔记本电脑硬盘上分区的块大小(在尝试传输单个大文件(或左右)时,小块大小可能会导致空闲空间的寻道时间过长)
    • 检查任何检查传入数据包以进行磁盘写入的防火墙策略
    • 检查任何文件活动监视器(由于您卸载了防病毒软件,这应该是出于担心)(正如您所知,avast 会进行实时文件检查,这会稍微减慢网络传输速度..)
    • 对目标分区进行碎片整理(再次关于寻找可用空间)

    其他人被建议但似乎没有帮助:

    • 自动调谐
    • 双工级
    • 电缆...

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

    我在台式电脑上使用 win7,这些选项不包含在我的 nic 的高级属性中。只要我从未遇到过这个问题,您也可以将“Flow Control”的值检查为“TX and RX Enabled”作为我的网卡选项。Jumbo 被禁用,Speed 和 Duplex 在我的配置中也是自动的...

    我想不出任何其他解决方案...希望这会有所帮助...

    • 1
  8. Gi Cakov
    2017-04-29T14:43:19+08:002017-04-29T14:43:19+08:00

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

    Windows 7 Pro、Celeron J1800 与 Realtek Gigabit 8111C 内置网卡。另一端是 QNAP 453a 和 MacBook Pro。

    当通过 Iperf3 测量时,我的 Windows 7 设置为客户端(CPU 使用率为 25-30%)时获得了 112 mbps。设置为服务器时只有 39-41 Mbps,CPU 使用率在 50-100% 之间。太糟糕了,PC 在带宽测试时会死机。

    无论我是将文件上传或下载到我的 NAS 还是我的 MAC,常规文件传输的上限为 45mbps。

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

    最终成为一个糟糕的局域网卡驱动程序。我痴迷于更新驱动程序,并且总是在有新驱动程序可用时更新我的​​驱动程序。你猜怎么着,几次更新后我的网卡变慢了。

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

    这是我的解决方案:

    使用制造商网站上的 OEM 驱动程序从头开始安装 Windows。我也做了以下事情:

    在设备管理器/局域网卡/高级设置/禁用除流量控制之外的所有内容。

    在 Windows 功能下,禁用远程差异压缩。

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

    • 1
  9. chris
    2009-08-09T15:53:58+08:002009-08-09T15:53:58+08:00

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

    • 0
  10. William Hilsum
    2009-08-09T17:33:49+08:002009-08-09T17:33:49+08:00

    你可能会讨厌这个答案,但我不得不说!

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

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

    仅仅因为 Windows 的驱动程序可以工作,并不意味着它们是最好的。

    • 0

相关问题

  • 文件复制到分支机构

  • 对于 ASP.Net 应用程序,Windows 64 位相对于 32 位的主要优势是什么?

  • Windows Server 2008 Hyper-V 虚拟化服务器的最佳 RAID 配置?

  • 远程连接 sql server 不工作,但如果防火墙禁用它呢?

  • 无法从 SQL Server 2008 备份数据库

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve