
私たちは、5 つのイーサネット ポート (それぞれ 1 Gb) を備えたコンピューター (Windows 10 を実行) を持っています。そのうち 2 つは内蔵で、他の 3 つは 2 つの PCIe カードにあります。イーサネット ポートのうち 4 つには、合計 6 台のカメラが接続されています (スイッチが 2 つあるため、ポートは一度に 2 台以上のカメラを処理できません)。カメラは圧縮されていない画像を送信するため、このシステムは元々複数のコンピューターに分散して実行するように設計されており、フレームを取得して記録/表示プログラム (現在は圧縮形式) に渡すサービスが (元々は各コンピューターで) 実行されています。
システムの実行中、4 つのイーサネット ポートは理論上の制限を大幅に下回ります。
一方、着信トラフィックを処理するサービスを見ると、使用率は 99% になっています (100% でしたが、すべてのカードをギガビット全二重に設定したところ、99% に下がりました)。実際の使用率は、4 つの着信トラフィック (ヘッダーの順序: CPU、メモリ、ネットワーク、ディスク、GPU) の合計とほぼ同じです。
ご覧のとおり、メモリと CPU の使用率は非常に低く、800 Mb/s の速度はネットワークの容量をはるかに下回っているはずですが、100% と表示され、キャプチャ プログラムは深刻な帯域幅の問題があるかのように機能します。4 台のカメラ (合計で約 600 Mb/s) にダウンスケールすると、動作が復元されます。
最も奇妙なのは、数回の試行では合計 6 台のカメラが完璧に動作していたことです。そのため、Windows 10 は、帯域幅が 1000 Mb/s しかないと何らかの理由で判断し、使用を制限しようとしており、それが後で何らかの形で機能したのではないかと思います。
何が足りないのでしょうか?
ハードウェア(編集)
マザーボード: GA-X99-Designare EX
デバイス マネージャーにリストされているデバイス:
- インテルイーサネット接続 (2) I218-V
- Intel I211 ギガビット ネットワーク接続
- Intel PRO/1000 PT デュアル ポート サーバー アダプター
- Intel PRO/1000 PT デュアル ポート サーバー アダプター #2
- Realtek PCIe GBE ファミリー コントローラ
2 つの PCIe NIC:
- TPリンク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 (1 Gbps に対応しているとされている TP LINK TG-3468 のはずです) は 100 Mbps になっているようです。Cat5e ケーブルでギガビット スイッチに接続されています。これが関係があるかどうかはわかりませんが、奇妙に思えます。
答え1
800 Mb/s の合計ネットワーク パフォーマンスは、一度に 1 つのネットワーク アダプターのみを使用していることを意味します。
説明はMicrosoftの記事で参照できます。 同じネットワーク上の複数のアダプタがどのように動作するかそこから引用します(記事では 2 つのアダプタの例を使用しています)。
このシナリオでは、同じ物理ネットワーク上の 2 つのアダプタが負荷分散を実行することが期待されます。ただし、定義上、イーサネット ネットワーク トポロジでは、一度に 1 つのアダプタのみがネットワーク上で通信できます。したがって、両方のアダプタが同時に送信することはできず、ネットワーク上の別のデバイスが送信している場合は待機する必要があります。さらに、両方のアダプタが同じネットワークをリッスンするため、ブロードキャスト メッセージは各アダプタで処理する必要があります。この構成では、プロトコル関連の問題を除いて、かなりのオーバーヘッドが発生します。この構成は、同じネットワークに冗長ネットワーク アダプタを提供するための適切な方法ではありません。
すべてのアダプタが同じ物理ネットワークとプロトコル サブネット上にある場合、アダプタは並列ではなく直列で動作しているため、上記のテキストでネットワーク パフォーマンスの低下が説明されます。
記事で言及されているオーバーヘッドが原因で、実際には 1 Gbps の制限には到達できず、最大 800 Mbps しか得られません。
構成で 5 つのアダプタを使用するには、少なくともコンピューターを 5 つの異なる VLAN に接続する必要がありますが、他の制限に達する可能性があります。
Windows 10 がこのような構成に適したプラットフォームであるとは思えません。Windows Server 2016 は、適切な構成であれば、より優れたパフォーマンスを発揮する可能性があります。Server 2012 以降では、Windows は NIC のブリッジ/集約 (NIC チーミングとも呼ばれます) をネイティブでサポートしています。
代替ソリューションとしては、5 つの 1 Gbps アダプターを 1 つの 10 Gbps ネットワーク アダプターに置き換えることが挙げられます。これは、Windows Server よりも優れたソリューションであり、おそらくより安価です。スイッチ ネットワークを構築する際の基本的なルールは、複数の低速セグメントを集約するには、常により高速なテクノロジが必要であるということです。10 ギガビットは、これらの 5 つの 1 ギガビット セグメントを集約できます。問題が発生した場合、ケーブル配線の専門家にネットワークを検証してもらう必要があるかもしれません。
答え2
お使いの Windows は外国語なので、確実なことは言えません...
英語版Windowsでは、タスクマネージャーの3番目の列はディスクの使用状況。
ハード ディスクがデータ スループットを処理できないようですが、これは当然のことです。この場合、必要なディスク スループットを計算し、その負荷を処理するためにはるかに高速なディスク サブシステムを取得する必要があります。おそらく、負荷を分散するために高速 RAID アレイを 1 つ、または 2 つ用意する必要があります。