Windows 网络带宽问题

Windows 网络带宽问题

我们有一台计算机(运行 Windows 10),它有五个以太网端口(每个 1 Gb),其中两个是内置的,另外三个在两个 PCIe 卡上。四个以太网端口总共插入了六个摄像头(带有两个交换机,因此没有一个端口可以同时处理两个以上的摄像头)。该系统最初设计为分布在多台计算机上运行,​​因为摄像头发送未压缩的图像,因此有一个服务正在运行(最初在每台计算机上),该服务会抓取帧并将其交给录制/显示程序(现在为压缩格式)。

当系统运行时,四个以太网端口远低于其理论极限: 在此处输入图片描述

另一方面,当查看处理传入流量的服务时,我看到使用率为 99%(以前是 100%,但我将所有卡设置为千兆全双工,然后它下降到 99%),而实际使用率几乎是四个传入流量的总和(按顺序为:CPU、内存、网络、磁盘、GPU):

在此处输入图片描述

如您所见,内存和 CPU 使用率非常低,800 Mb/s 的速度应该远远低于网络容量,但它却显示 100%,并且捕获程序的运行就像它遇到了严重的带宽问题一样。缩小到四个摄像头(总共约 600 Mb/s)可以恢复正常。

最奇怪的是,在几次试验中,总共六个摄像头都运行正常,所以我的感觉是 Windows 10 不知何故认为我们只有 1000 Mb/s 带宽,并试图限制使用量,但这种限制后来以某种方式开始生效。

我错过了什么?

硬件(编辑)

主板:GA-X99-Designare EX

设备管理器中列出的设备:

  • 英特尔以太网连接 (2) I218-V
  • Intel I211 千兆网络连接
  • 英特尔 PRO/1000 PT 双端口服务器适配器
  • 英特尔 PRO/1000 PT 双端口服务器适配器 #2
  • Realtek PCIe GBE 系列控制器

两个 PCIe NIC:

  • TP LINK TG-3468
  • GigE 卡 PCIe Intel PRO/1000 PT 双端口服务器适配器

接口状态:

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet                  Intel(R) I211 Gigabit Network Connec...      12 Up           1C-1B-0D-6C-A0-27         1 Gbps
Ethernet 2                Intel(R) Ethernet Connection (2) I218-V      15 Up           1C-1B-0D-6C-A0-29         1 Gbps
Slot04 x16                Realtek PCIe GBE Family Controller           14 Up           18-D6-C7-01-C9-F6       100 Mbps
Ethernet 4                Intel(R) PRO/1000 PT Dual Port Ser...#2       9 Up           68-05-CA-3F-CB-32         1 Gbps
Ethernet 3                Intel(R) PRO/1000 PT Dual Port Serve...      20 Up           68-05-CA-3F-CB-33         1 Gbps

看起来 Realtek GBE(应该是 TP LINK TG-3468,据说可以达到 1 Gbps)的速度为 100 Mbps。它通过 Cat5e 电缆连接到千兆交换机。我不确定这是否相关,但也似乎很奇怪。

答案1

您获得的 800 Mb/s 组合网络性能意味着您一次只使用一个网络适配器。

可以在 Microsoft 文章中找到解释 同一网络上的多个适配器应如何表现,我从中引用(文章使用了两个适配器的示例):

在这种情况下,您可能希望同一物理网络上的两个适配器执行负载平衡。但是,根据定义,在以太网网络拓扑中一次只能有一个适配器在网络上通信。因此,两个适配器不能同时传输,并且必须等待网络上的另一个设备传输。此外,每个适配器都必须处理广播消息,因为它们都在同一个网络上监听。此配置需要大量开销,不包括任何与协议相关的问题。此配置不是一种为同一网络提供冗余网络适配器的好方法。

如果所有适配器都在同一个物理网络和协议子网上,则上述文本解释了您所看到的网络性能下降,因为它们是串联工作而不是并行工作的。

文章中提到的开销导致您实际上无法达到 1 Gbps 的限制,而只能达到 800 Mbps。

要在您的配置中使用 5 个适配器,您至少需要将计算机连接到 5 个不同的 VLAN,但可能会遇到其他限制。

我不相信 Windows 10 是这种配置的良好平台。在正确的配置下,Windows Server 2016 可能会做得更好。在 Server 2012 及更高版本中。Windows 本身支持桥接/聚合 NIC,也称为 NIC 组合。

另一种解决方案是用一个 10 Gbps 网络适配器替换五个 1 Gbps 适配器。这可能是一个更好的解决方案,甚至可能比 Windows Server 更便宜。构建交换网络的基本规则是始终需要更快的技术来聚合多个低速段。10 Gigabit 可以聚合这五个 1 Gigabit 段。如果出现问题,您可能需要让布线专家验证您的网络。

答案2

您的 Windows 是外语的​​,所以我不能肯定地说......

在 Windows 英文版中,任务管理器的第三列是磁盘使用情况

您的硬盘似乎无法处理数据吞吐量,这更合情合理。如果是这种情况,您需要计算必要的磁盘吞吐量,并获得更快的磁盘子系统来处理该负载。可能需要一个高速 RAID 阵列,甚至两个,来分散负载。

相关内容