我们有一台计算机(运行 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 阵列,甚至两个,来分散负载。