Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsServer2022でのTCPグローバルパラメータについて

Last updated at Posted at 2024-12-16

はじめに

  • Googleさん、お願いします。
    image.png

  • WindowsServerでサーバを構築する際、昔はWindowsServer2008 R2でChimney オフロード状態なるパラメーターを適切に設定しないと、とんでもないことが起きたという話を諸先輩方から聞いたことがありました

    • TCP/IPの処理をプロセッサにさせるか、NICにさせるかのパラメーターで、これをenable(=NICで処理させる)にすると大変だったらしい...
  • OSがバージョンアップすると、このTCPグローバルパラメーターにも変化があったので、備忘として残しておきます

WindowsServer2022の場合

TCP グローバル パラメーター
----------------------------------------------
Receive-Side Scaling 状態          : disabled 
受信ウィンドウ自動チューニング レベル    : normal 
アドオン輻輳制御プロバイダー  : default 
ECN 機能                      : enabled 
RFC 1323 タイムスタンプ                 : allowed 
初期 RTO                         : 1000 
Receive Segment Coalescing 状態    : enabled 
非 Sack の Rtt 回復性             : disabled 
SYN の最大再送信数             : 4 
Fast Open                           : disabled 
Fast Open フォールバック                  : enabled 
HyStart                             : enabled 
Proportional Rate Reduction         : enabled 
ペーシング プロファイル                      : off 
  • サーバ構築の際、以下項目はいつもいじってた
    • NetDMA
      • WindowsServer2019以降、非サポートのため考慮しない
    • Receive-Side Scaling 状態
      • enabled→disabledはこれまで通り変更

デフォルト値について

  • RFC 1323 タイムスタンプ : allowed
    • TCPの再送タイマーで使用されるRTTを計算する際、TCPウインドウサイズ(ACKを待たず一度に送信できるデータ量)が最大の65535バイトである場合、正確な計算ができない
    • タイムスタンプを有効にしておくと、特にデータ量が多い通信の場合、正確なRTTの計算が可能になり、スループットが最適化されるとのこと。
      ということで、このまま

  • Proportional Rate Reduction : enabled
    • WindowsServer2022から追加された項目。パケロス時の回復を早めてくれるとのことで、このまま

  • 初期 RTO : 1000
    最大 SYN 再送信数 : 4
     
    • RTOは再送するまでの時間、最大 SYN 再送信数はリトライ数
       この設定だと1秒後に再送、次は2秒、4秒、8秒とRTOが増え、5回目に諦めるという設定

    • これまでだと初期 RTO:3000、最大 SYN 再送信数:2であったため、3秒後に再送、次は6秒、12秒、3回目に諦めるという設定
       

    • タイムアウトまでの時間が早い代わりに、再送回数が多いので通信の品質向上という意味で、このまま

参考(それ以前のバージョンについて)

WindowsServer2019とWindowsServer2016のTCPグローバルパラメーターのSNPについて

  • Chimney オフロード状態 (Win2016以前)
    NetDMA 状態

    • Windows Server2019からパラメータ廃止。
      構築ではこの両パラメータをdisableにしていた
  • したがって、WindowsServer2019でのSNP無効化は以下コマンドのみ
    netsh int tcp set global rss=disabled

=====Windows Server 2019=====
C:\Users\Administrator>netsh int tcp show global
アクティブ状態を照会しています...

TCP グローバル パラメーター
----------------------------------------------
Receive-Side Scaling 状態          : disabled
受信ウィンドウ自動チューニング レベル    : normal
アドオン輻輳制御プロバイダー  : default
ECN 機能                      : enabled
RFC 1323 タイムスタンプ                 : disabled
初期 RTO                         : 3000
Receive Segment Coalescing 状態    : enabled
非 Sack の Rtt 回復性             : disabled
最大 SYN 再送信数             : 2
Fast Open                           : disabled
Fast Open フォールバック                  : enabled
HyStart                             : enabled
ペーシング プロファイル                      : off
=====Windows Server 2016=====
C:\Users\Administrator>netsh int tcp show global
アクティブ状態を照会しています...

TCP グローバル パラメーター
----------------------------------------------
Receive-Side Scaling 状態          : disabled
Chimney オフロード状態               : disabled
NetDMA 状態                        : disabled
Direct Cache Access (DCA)           : disabled
受信ウィンドウ自動チューニング レベル    : normal
アドオン輻輳制御プロバイダー  : none
ECN 機能                      : enabled
RFC 1323 タイムスタンプ                 : disabled
初期 RTO                         : 3000
Receive Segment Coalescing 状態    : enabled
非 Sack の Rtt 回復性             : disabled
SYN の最大再送信数             : 2
TCP Fast Open                       : disabled

まとめ

  • ここまで細かく考える必要があるのか...という感じですし、そういった場面に遭遇したことがないですが、もしもの時の参考になれば幸いです
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?