Windows ServerのNICチューニングをしよう

ITインフラ系

Windows Serverのネットワークパフォーマンスを最大限に引き出すためには、NIC(ネットワークインターフェースカード)のチューニングが重要です。この記事では、基本的なチューニング手順と一般的な設定について説明します。

NICチューニングとは何か?

NICチューニングとは、ネットワークインターフェースカード(NIC)の設定を調整し、ネットワーク通信のパフォーマンスを改善するプロセスです。これには、データの送信/受信の効率を向上させるための設定変更が含まれます。

NICチューニングの手順

powershellでncpaを打つと出てくるNIC設定から、対象のNICを右クリックしてプロパティ→構成→詳細設定からNICの設定ができます

1.ドライバの更新

NICドライバーはベンダー起因の不具合を起こしている可能性があるので、とりあえず各ベンダーのページから最新のドライバを持ってきて更新しましょう。

2.オフロード機能の有効化

NICには一部のネットワーク処理をオフロードする機能があります。これにより、CPUの負荷を軽減し、全体的なパフォーマンスを向上させることができます。TCPチェックサムオフロード、UDPチェックサムオフロード、Large Send Offload(LSO)などのオフロード機能を有効にしてみましょう。

(ただあまり効果を実感したことはないです)

3.バッファサイズの調整

ネットワークトラフィックの量に応じて、送信バッファサイズと受信バッファサイズを調整することで、パフォーマンスを最適化することができます。

Transmit Bufferのような名前で設定ができると思います。デフォルトは512で、メモリに余裕がある場合に1024や2048等に増やすとよいとされます。

4.RSS(Receive Side Scaling)の有効化

RSSは、受信ネットワークトラフィックを複数のCPUコアに分散する機能です。これにより、単一のCPUコアがネットワーク処理で飽和するのを防ぎ、パフォーマンスを向上させることができます。

RSSを有効にしてからRSSのコア割り当て設定などを行うと効果が実感できるかもしれません。もし同一NICで同じCPUのコアを使っていると処理が頭打ちになり性能が低下します。
RSSでコア割り当てを変更したり、複数コアを使える様にすることで処理を分散してNICパフォーマンスを最大化することができます。
Receive Side Scaling (RSS) の概要 – Windows drivers | Microsoft Learn
またこれは詳しく記事にしたいと思います。

5.Jumbo Framesの設定

Jumbo Frameは、標準的なEthernetフレームよりも大きいパケットを送受信することができます。これにより、ネットワーク上でのパケット数が減少し、ネットワークオーバーヘッドが減り、結果的にパフォーマンスが向上します。ただし、ネットワーク全体でJumbo Frameをサポートしていること、そしてこの設定が不適切な場合にはパフォーマンスが低下する可能性があることを理解しておく必要があります。

6.VMQ (Virtual Machine Queue)の有効化

ハイパーバイザー上で複数のVMを実行している場合、VMQを有効にすることで、ネットワークトラフィックをVMごとに分離し、パフォーマンスを向上させることができます。VMQは、ネットワークトラフィックを効率的に処理し、各VMのネットワークパフォーマンスを最適化します。

RSSと同じくVMQの詳しい設定を行うことでパフォーマンスを上げることが出来ます。僕自身あまり活用できてないのでもうちょっと検証して記事にできればと思ってます。

7.フローコントロールの最適化

フローコントロールは、ネットワークトラフィックの適切な制御を行うための重要な機能です。以下の設定を確認し、最適化しましょう。

ネットワークスイッチのポートのフローコントロール設定

ネットワークスイッチのポートが正しくフローコントロールをサポートしていることを確認し、必要に応じて有効化します。

NICのフローコントロールの設定

ネットワークカードのプロパティ設定で、フローコントロールの有効化や設定を適切に構成します。

まとめ

様々な設定があり、チューニングしがいがあると思います。ただ一つだけ言わせてください
CPUを強いのにしよ

軽自動車をチューニングしてすごい早い軽自動車にするよりスポーツカーのほうが早いんです

NICはシングルスレッドの処理がかなり多いと思いますので、強いCPUが一番の解決策でしょう。

とは言っても、強いCPUを持つサーバーに変えるのは厳しいと思いますので、このチューニングを上手く利用してみてください。
またNIC系の記事が思いついたら書きたいと思います。

ちなみに某ジピにドラフトを書いてもらってそれを編集しました。ジピは最高です!

タイトルとURLをコピーしました