忙しい家庭用NASにイーサネットフロー制御を有効にすべきですか?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

イーサネットフロー制御は、受信側の輻輳が改善し、同じリンク上の他のトラフィックに対するポーズフレームの影響よりも効果が大きいと測定された場合にのみ有効にしてください。

忙しいホームNASでは、802.3xポーズフレームは受信NICや遅い送信経路が一時的にバッファスペースを使い果たした際に役立ちますが、同じリンクを共有する無関係なSMB、ストリーミング、音声、コンテナ、ルーターのトラフィックも停止させてしまう可能性があります。正しい判断は、NASのポートが高速だからといってチェックボックスを有効にするのではなく、インターフェースカウンターと混在したワークロードでのA/Bテストから導き出されます。

フロー制御が実際に対処できる損失パターンを特定する

問題を引き起こすワークロード中のNASの受信ドロップ、スイッチの送信破棄、CRCエラー、TCP再送、負荷時の遅延、スループットを測定してください。フロー制御は隣接するイーサネット機器間の輻輳を対象としており、ケーブルの損傷や遅いディスクには効果がありません。

Packet Pushersは、ポーズフレームが輻輳を元の混雑した受信機以外にも広げた実際のストレージケースを説明しています。この例は、ポーズカウンターを単にフロー制御が効果を発揮している証拠としてではなく、ネットワークの証拠として扱うべき理由を示しています。

CRCやシンボルエラーが増加した場合は物理経路を修正してください。ネットワークカウンターが正常なままストレージが停止する場合はNASの書き込み経路を修正してください。負荷時に受信側や遅い送信ポイントでドロップや破棄が発生した場合にのみフロー制御のテストを続行してください。

ポーズフレームが停止させるものを理解する

従来の802.3xフロー制御は、直接接続された相手に対して全二重リンク全体の送信を指定された間隔停止するよう要求します。輻輳を引き起こしたSMBストリームだけを選択的に停止するわけではありません。

Data Center Overlordsは、この全リンク停止の動作がヘッドオブラインブロッキングを引き起こし、混雑した宛先が他の継続可能なトラフィックを遅延させることを説明しています。

有効にする前にポートを共有するすべてのワークロードを把握してください。専用のNASとワークステーション間リンクは、SMB、インターネットルーティング、音声通話、カメラフィード、コンテナトラフィックを含むトランクとは異なるリスクプロファイルを持ちます。

両端が意図した方向でネゴシエートしていることを確認する

NASのNICとスイッチポートがポーズフレームを送信できるか、応答できるか、または両方できるかを確認してください。ベンダーのインターフェースではこれらをRX、TX、対称、非対称、または自動ネゴシエートされたフロー制御と表記することがあります。

SmallNetBuilderのフロー制御テストでは、エンドポイントの動作や混在速度リンクによってはフロー制御が性能を低下させることがあると報告されています。

設定されたチェックボックスを信用するのではなく、ネゴシエーション後の動作状態を記録してください。一方がポーズを送信しても相手が無視する場合や、スイッチが意図しない方向で応答する場合は、テストは有効にしたと思っているポリシーを評価していません。

フロー制御のオン・オフで同じ忙しいNASワークロードを実行する

同時バックアップ書き込み、メディア読み取り、コンテナトラフィック、遅延に敏感な通話など、元の輻輳を引き起こす再現可能なワークロードを使用してください。各ストリームとNAS全体のスループットを別々に記録します。

Virtual Threadsは、イーサネットフロー制御が過負荷のデバイスが輻輳の原因を解決する代わりに上流リンク全体を停止させる可能性があると警告しています。

複数回の同一テストで受信ドロップ、ポーズフレームカウンター、TCP再送、負荷時遅延、アプリケーション結果を比較してください。音声、インタラクティブアプリ、ルーターのトラフィックが不安定になる場合は、ピークのSMB数が高くてもフロー制御を正当化できません。

測定されたワークロードに適合する場合のみフロー制御を選択する

フロー制御は、短時間の受信バーストがドロップを引き起こし、両端が予測可能に機能し、遅延に敏感な無関係トラフィックが停止されたリンクを共有しない専用または制御されたストレージセグメントで最も有効です。

混在するホームサーバートランク、過負荷スイッチ、ルーターオンアスティックリンク、または遅い受信機が複数の独立クライアントにポーズを伝播させるネットワークでは魅力的ではありません。その場合は、トラフィックシェーピング、高速な送信経路、別インターフェース、キュー調整、ワークロードスケジューリングなどで明確な境界を持って圧力を解決する方が良いでしょう。

設定理由を記録してください:どのカウンターが改善したか、どのワークロードをテストしたか、どの方向がポーズを送信するか、どの副作用を確認したか。記録がなければ、将来のドライバーやスイッチの変更で問題がなくなってもフロー制御が有効なままになる可能性があります。

全体の結果が改善した場合のみ設定を維持する

繰り返しテストで対象のドロップや再送が減少し、有用なNASスループットが維持され、他のサービスに対して許容できない遅延や輻輳の拡散が発生しない場合にフロー制御を受け入れてください。そうでなければ、両端を既知の良好な無効状態に戻してください。

ZimaSpaceの遅いNASボトルネックのチェックリストは、ポーズフレームが性能チェーンの狭いポイントにしか対処しないことを思い出させてくれます。

正しい答えはポートごとに異なります:専用ストレージリンクでは有効、混在ルータートランクでは無効、遅い送信経路を修正した後は不要。フロー制御はデフォルトの速度最適化ではなく、測定された輻輳対策として扱ってください。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.