すべてのプロダクト
Search
ドキュメントセンター

:一般的な Linux カーネルネットワークパラメーターとよくある質問

最終更新日:Nov 09, 2025

このトピックでは、Elastic Compute Service (ECS) インスタンスの一般的な Linux カーネルネットワークパラメーターについて説明します。また、Linux カーネルネットワークパラメーターに関するよくある質問への回答も提供します。

セルフサービスのトラブルシューティングツールの使用

Alibaba Cloud は、カーネルパラメーターの構成を迅速に確認し、明確な診断レポートを取得するのに役立つセルフサービスのトラブルシューティングツールを提供しています。

をクリックしてセルフサービスのトラブルシューティングページに移動し、ターゲットリージョンに切り替えます。

セルフサービスのトラブルシューティングツールで問題を特定できない場合は、次の手順を実行して手動でトラブルシューティングを行うことができます。

カーネルパラメーターの表示と変更

注意事項

カーネルパラメーターを変更する前に、次の項目に注意してください。

  • ビジネス要件と関連データにのみ基づいてカーネルパラメーターを変更することをお勧めします。

  • 各パラメーターの関数を理解してください。カーネルパラメーターは、環境のタイプやバージョンによって異なる場合があることに注意してください。詳細については、「一般的な Linux カーネルパラメーター」をご参照ください。

  • ECS インスタンス上の重要なデータをバックアップします。詳細については、「スナップショットの作成」をご参照ください。

パラメーターの変更

/proc/sys//etc/sysctl.conf を使用して、インスタンスの実行中にカーネルパラメーターを変更できます。違いは次のとおりです。

  • /proc/sys/ は、カーネルパラメーターにアクセスするメソッドを提供する仮想ファイルシステムです。このファイルシステムの net ディレクトリには、現在のシステムで有効になっているすべてのネットワークカーネルパラメーターが格納されます。システムの実行中にパラメーターを変更できますが、変更はインスタンスの再起動後に無効になります。このメソッドは通常、変更の効果を一時的に検証するために使用されます。

  • /etc/sysctl.conf は構成ファイルです。/etc/sysctl.conf ファイルでカーネルパラメーターのデフォルト値を変更できます。変更はインスタンスの再起動後も有効です

/proc/sys/ ディレクトリ内のファイルは、/etc/sysctl.conf 構成ファイル内の完全なパラメーター名に対応しています。たとえば、/proc/sys/net/ipv4/tcp_tw_recycle ファイルは net.ipv4.tcp_tw_recycle パラメーターに対応しています。ファイルの内容はパラメーター値です。

説明

Linux はカーネルバージョン 4.12 以降、`tcp_tw_recycle` 構成を削除しました。これは、`net.ipv4.tcp_tw_recycle` 構成が `sysctl.conf` から削除されたことを意味します。システムのカーネルがバージョン 4.12 より前の場合にのみ、net.ipv4.tcp_tw_recycle パラメーターを使用できます。

/proc/sys/ ディレクトリのファイルを使用してカーネルパラメーターを表示および変更する

  1. Linux オペレーティングシステムを実行する ECS インスタンスにログオンします。

    詳細については、「ECS インスタンスの接続方法の概要」をご参照ください。

  2. cat コマンドを実行して、対応するファイルの内容を表示します。

    たとえば、次のコマンドを実行して net.ipv4.tcp_tw_recycle の値を表示します。

    cat /proc/sys/net/ipv4/tcp_tw_recycle 
  3. echo コマンドを実行して、カーネルパラメーターに対応するファイルを変更します。

    たとえば、次のコマンドを実行して net.ipv4.tcp_tw_recycle の値を 0 に変更します。

    echo "0" > /proc/sys/net/ipv4/tcp_tw_recycle 

/etc/sysctl.conf 構成ファイルのカーネルパラメーターを表示および変更する

  1. Linux オペレーティングシステムを実行する ECS インスタンスにログオンします。

    詳細については、「ECS インスタンスの接続方法の概要」をご参照ください。

  2. 次のコマンドを実行して、現在のシステムですべての有効なパラメーターを表示します:

    sysctl -a

    次のサンプルコマンド出力は、特定のカーネルパラメーターを示しています:

    net.ipv4.tcp_app_win = 31
    net.ipv4.tcp_adv_win_scale = 2
    net.ipv4.tcp_tw_reuse = 0
    net.ipv4.tcp_frto = 2
    net.ipv4.tcp_frto_response = 0
    net.ipv4.tcp_low_latency = 0
    net.ipv4.tcp_no_metrics_save = 0
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_tso_win_divisor = 3
    net.ipv4.tcp_congestion_control = cubic
    net.ipv4.tcp_abc = 0
    net.ipv4.tcp_mtu_probing = 0
    net.ipv4.tcp_base_mss = 512
    net.ipv4.tcp_workaround_signed_windows = 0
    net.ipv4.tcp_challenge_ack_limit = 1000
    net.ipv4.tcp_limit_output_bytes = 262144
    net.ipv4.tcp_dma_copybreak = 4096
    net.ipv4.tcp_slow_start_after_idle = 1
    net.ipv4.cipso_cache_enable = 1
    net.ipv4.cipso_cache_bucket_size = 10
    net.ipv4.cipso_rbm_optfmt = 0
    net.ipv4.cipso_rbm_strictvalid = 1
  3. カーネルパラメーターを変更します。

    • 一時的な変更

      /sbin/sysctl -w kernel.parameter="[$Example]"
      説明

      `kernel.parameter` をカーネル名に、`[$Example]` をパラメーター値に置き換えます。たとえば、sysctl -w net.ipv4.tcp_tw_recycle="0" コマンドを実行して、net.ipv4.tcp_tw_recycle カーネルパラメーターの値を 0 に変更します。

    • この変更は永続的です。

      1. 次のコマンドを実行して /etc/sysctl.conf 構成ファイルを開きます。

        vim /etc/sysctl.conf
      2. i キーを押して編集モードに入ります。

      3. 必要に応じてカーネルパラメーターを変更します。

        フォーマットは次のとおりです。

        net.ipv6.conf.all.disable_ipv6 = 1
        net.ipv6.conf.default.disable_ipv6 = 1
        net.ipv6.conf.lo.disable_ipv6 = 1
      4. Esc キーを押し、:wq と入力して Enter キーを押し、ファイルを保存して終了します。

      5. 次のコマンドを実行して構成を有効にします:

        /sbin/sysctl -p

Linux ECS インスタンスの一般的なカーネルネットワークパラメーターに関するよくある質問

Linux ECS インスタンスにリモート接続できず、「nf_conntrack: table full, dropping packet」 エラーメッセージが /var/log/message ログに表示される場合はどうすればよいですか?

問題の説明

ECS インスタンスにリモート接続できません。宛先インスタンスに ping を実行すると、パケットが失われるか、ping コマンドが失敗します。次のエラーメッセージが /var/log/message システムログに頻繁に表示されます。

Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.
Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.
Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.
Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.

原因

`ip_conntrack` は、NAT の接続エントリを追跡する Linux モジュールです。`ip_conntrack` モジュールは、ハッシュテーブルを使用して TCP established connection エントリを記録します。このハッシュテーブルがいっぱいになると、新しい接続パケットがドロップされ、nf_conntrack: table full, dropping packet エラーが発生します。

Linux システムは、各 TCP 接続を維持するためにスペースを割り当てます。このスペースのサイズは、nf_conntrack_buckets および nf_conntrack_max パラメーターに関連しています。`nf_conntrack_max` のデフォルト値は、`nf_conntrack_buckets` の値の 4 倍です。したがって、nf_conntrack_max パラメーターの値を増やすことをお勧めします。

説明

システム接続を維持すると、大量のメモリが消費されます。システムがアイドル状態で、十分なメモリがある場合は、nf_conntrack_max パラメーターの値を増やしてください。

ソリューション

  1. Virtual Network Computing (VNC) を使用してインスタンスに接続します。

    詳細については、「パスワード認証を使用して Linux インスタンスにログオンする」をご参照ください。

  2. nf_conntrack_max パラメーターの値を変更します。

    1. 次のコマンドを実行して /etc/sysctl.conf ファイルを開きます。

      vi /etc/sysctl.conf
    2. i キーを押して編集モードに入ります。

    3. nf_conntrack_max パラメーターの値を変更します。

      たとえば、ハッシュテーブルエントリの最大数を 655350 に変更します。

      net.netfilter.nf_conntrack_max = 655350
    4. Esc キーを押し、:wq と入力して Enter キーを押し、ファイルを保存して終了します。

  3. nf_conntrack_tcp_timeout_established パラメーターの値を変更します。

    デフォルト値: 432000。単位: 秒。例: 1200。

    net.netfilter.nf_conntrack_tcp_timeout_established = 1200
  4. 次のコマンドを実行して構成を有効にします:

    sysctl -p

なぜ /var/log/messages ログに 「Time wait bucket table overflow」エラーメッセージ が表示されるのですか?

問題の説明

「kernel: TCP: time-wait bucket table overflow」エラーメッセージは、Linux ECS インスタンスの /var/log/messages ログに頻繁に表示されます。

Feb 18 12:28:38 i-*** kernel: TCP: time wait bucket table overflow
Feb 18 12:28:44 i-*** kernel: printk: 227 messages suppressed.
Feb 18 12:28:44 i-*** kernel: TCP: time wait bucket table overflow
Feb 18 12:28:52 i-*** kernel: printk: 121 messages suppressed.
Feb 18 12:28:52 i-*** kernel: TCP: time wait bucket table overflow
Feb 18 12:28:53 i-*** kernel: printk: 351 messages suppressed.
Feb 18 12:28:53 i-*** kernel: TCP: time wait bucket table overflow
Feb 18 12:28:59 i-*** kernel: printk: 319 messages suppressed.

原因

net.ipv4.tcp_max_tw_buckets パラメーターは、カーネルが管理できる TIME_WAIT 状態の接続数を制御します。ECS インスタンスの TIME_WAIT 状態の接続数が net.ipv4.tcp_max_tw_buckets の値を超えると、「kernel: TCP: time-wait bucket table overflow」エラーメッセージが /var/log/messages ログに表示されます。その後、システムカーネルは余分な TCP 接続を閉じます。

ソリューション

必要に応じて net.ipv4.tcp_max_tw_buckets パラメーターの値を増やすことができます。また、アプリケーションレベルで TCP 接続を最適化することをお勧めします。このセクションでは、net.ipv4.tcp_max_tw_buckets パラメーターの値を変更する方法について説明します。

  1. VNC を使用してインスタンスに接続します。

    詳細については、「パスワード認証を使用して Linux インスタンスにログインする」をご参照ください。

  2. 次のコマンドを実行して、既存の TCP 接続の数をクエリします:

    netstat -antp | awk 'NR>2 {print $6}' | sort | uniq -c

    次のコマンド出力は、6,300 個の接続が TIME_WAIT 状態であることを示しています:

    6300 TIME_WAIT
     40 LISTEN
     20 ESTABLISHED
     20 CONNECTED
  3. 次のコマンドを実行して、net.ipv4.tcp_max_tw_buckets パラメーターの値を表示できます。

    cat /etc/sysctl.conf | grep net.ipv4.tcp_max_tw_buckets

    次の出力は、net.ipv4.tcp_max_tw_buckets パラメーターが 20000 であることを示しています。

    2023-04-02_11-03-24

  4. net.ipv4.tcp_max_tw_buckets パラメーターの値を変更します。

    1. 次のコマンドを実行して /etc/sysctl.conf ファイルを開きます。vi /etc/sysctl.conf

      vi /etc/sysctl.conf
    2. i キーを押して編集モードに入ります。

    3. net.ipv4.tcp_max_tw_buckets パラメーターの値を変更します。

      たとえば、net.ipv4.tcp_max_tw_buckets パラメーターの値を 65535 に変更します。

      net.ipv4.tcp_max_tw_buckets = 65535
    4. Esc キーを押し、:wq と入力して Enter キーを押し、ファイルを保存して終了します。

  5. 次のコマンドを実行して構成を有効にします:

    sysctl -p

Linux ECS インスタンスに FIN_WAIT2 状態の TCP 接続が多数あるのはなぜですか?

問題の説明

Linux ECS インスタンス上の多くの TCP 接続が FIN_WAIT2 状態です。

原因

この問題は、次の理由で発生する可能性があります:

  • HTTP サービスでは、サーバーは特定の理由で接続を積極的に終了します。たとえば、キープアライブメッセージへの応答がタイムアウトした場合、サーバーは接続を終了し、接続は FIN_WAIT2 状態になります。

  • TCP/IP プロトコルスタックは、半開きの接続をサポートします。TIME_WAIT 状態とは異なり、FIN_WAIT2 状態は接続がタイムアウトしたことを意味しません。クライアントが接続を終了しない場合、接続はシステムが再起動するまで FIN_WAIT2 状態のままになります。FIN_WAIT2 状態の接続数が増加すると、カーネルがクラッシュします。

ソリューション

net.ipv4.tcp_fin_timeout パラメーターの値を小さくして、FIN_WAIT2 状態の TCP 接続のクローズを高速化できます。

  1. VNC を使用してインスタンスに接続します。

    詳細については、「パスワード認証を使用して Linux インスタンスにログインする」をご参照ください。

  2. net.ipv4.tcp_fin_timeout パラメーターの値を変更します。

    1. 次のコマンドを実行して /etc/sysctl.conf ファイルを開きます。vi /etc/sysctl.conf

      vi /etc/sysctl.conf
    2. i キーを押して編集モードに入ります。

    3. net.ipv4.tcp_fin_timeout パラメーターの値を変更します。

      たとえば、net.ipv4.tcp_fin_timeout パラメーターの値を 10 に変更します。

      net.ipv4.tcp_fin_timeout = 10
    4. Esc キーを押し、:wq と入力して Enter キーを押し、ファイルを保存して終了します。

  3. 次のコマンドを実行して構成を有効にします:

    sysctl -p

Linux ECS インスタンスに CLOSE_WAIT 状態の TCP 接続が多数あるのはなぜですか?

問題の説明

Linux ECS インスタンス上の多くの TCP 接続が CLOSE_WAIT 状態です。

原因

この問題は、CLOSE_WAIT 状態の TCP 接続数が範囲外であるために発生する可能性があります。

TCP は 4 ウェイハンドシェイクを使用して接続を終了します。TCP 接続の両端は、接続を終了するリクエストを開始できます。ピアが接続を終了してもローカル側が終了しない場合、接続は CLOSE_WAIT 状態になります。ローカル側は、この半開きの接続を介してピアと通信できず、できるだけ早く接続を終了する必要があります。

ソリューション

プログラムでピアによって接続が終了されたことを確認することをお勧めします。

  1. ECS インスタンスに接続します。

    詳細については、「接続方法の概要」をご参照ください。

  2. プログラムで CLOSE_WAIT 状態の TCP 接続を確認して終了します。

    プログラミング言語の読み取りおよび書き込み関数を使用して、CLOSE_WAIT 状態の TCP 接続をモニターできます。Java または C 言語で接続を終了するには、次のいずれかのメソッドを使用できます:

    • Java 言語

      1. read メソッドを使用して I/O を確認します。`read` メソッドが -1 を返した場合、ストリームの終わりに達したことを示します。

      2. close メソッドを使用して接続を閉じます。

    • C 言語

      read 関数の戻り値を確認します。

      • 戻り値が 0 の場合は、接続を終了します。

      • 戻り値が 0 未満の場合は、エラーメッセージを表示します。AGAIN が表示されない場合は、接続を終了します。

クライアントに NAT を構成した後、ECS インスタンスまたは ApsaraDB RDS インスタンスにアクセスできないのはなぜですか?

問題の説明

NAT が構成された後、クライアントは、ソース NAT (SNAT) が有効になっている VPC 内の ECS インスタンスを含む、サーバー側の ECS または RDS インスタンスにアクセスできません。

原因

この問題は、サーバー上の net.ipv4.tcp_tw_recycle および net.ipv4.tcp_timestamps パラメーターが両方とも 1 に設定されている場合に発生する可能性があります。

サーバー上の net.ipv4.tcp_tw_recyclenet.ipv4.tcp_timestamps の両方のカーネルパラメーターが有効 (1 に設定) になっている場合、サーバーは各 TCP 接続パケットのタイムスタンプをチェックします。タイムスタンプが昇順でない場合、サーバーはパケットをドロップします。

ソリューション

サーバー側にデプロイされているクラウドプロダクトに基づいて、接続障害に対する適切なソリューションを選択できます。

  • リモートサーバーが ECS インスタンスの場合は、net.ipv4.tcp_tw_recyclenet.ipv4.tcp_timestamps の両方のパラメーターを 0 に設定します。

  • リモートサーバーが ApsaraDB RDS インスタンスの場合、そのカーネルパラメーターを直接変更することはできません。代わりに、クライアントで net.ipv4.tcp_tw_recyclenet.ipv4.tcp_timestamps の両方のパラメーターを 0 に設定する必要があります。

  1. VNC を使用してインスタンスに接続します。

    詳細については、「パスワード認証を使用して Linux インスタンスにログインする」をご参照ください。

  2. net.ipv4.tcp_tw_recycle および net.ipv4.tcp_timestamps パラメーターの値を 0 に変更します。

    1. 次のコマンドを実行して /etc/sysctl.conf ファイルを開きます。vi /etc/sysctl.conf

      vi /etc/sysctl.conf
    2. i キーを押して編集モードに入ります。

    3. net.ipv4.tcp_tw_recycle および net.ipv4.tcp_timestamps パラメーターの値を 0 に変更します。

      net.ipv4.tcp_tw_recycle=0
      net.ipv4.tcp_timestamps=0
    4. Esc キーを押し、:wq と入力して Enter キーを押し、ファイルを保存して終了します。

  3. 次のコマンドを実行して構成を有効にします:

    sysctl -p 

一般的な Linux カーネルパラメーター

パラメーター

説明

net.core.rmem_default

ソケット受信ウィンドウのデフォルトサイズ。単位: バイト。

net.core.rmem_max

ソケット受信ウィンドウの最大サイズ。単位: バイト。

net.core.wmem_default

ソケット送信ウィンドウのデフォルトサイズ。単位: バイト。

net.core.wmem_max

ソケット送信ウィンドウの最大サイズ。単位: バイト。

net.core.netdev_max_backlog

カーネルの処理速度がネットワークインターフェースコントローラー (NIC) の受信速度よりも遅い場合、余分なパケットは NIC の受信キューに格納されます。

このパラメーターは、前述のシナリオでキューに送信できるパケットの最大数を指定します。

net.core.somaxconn

このグローバルパラメーターは、各ポートのリスニングキューの最大長を指定します。

これは、3 ウェイハンドシェイクで半開きの接続の制限を指定する net.ipv4.tcp_max_syn_backlog に関連しています。ただし、このパラメーターは、ESTABLISHED 状態の接続の制限を指定します。インスタンスのワークロードが高い場合は、このパラメーターを増やす必要がある場合があります。backlog 関数の listen(2) パラメーターは、リスニングポートの ESTABLISHED 状態の接続の制限も指定します。backlog の値が net.core.somaxconn より大きい場合は、net.core.somaxconn の値が使用されます。

net.core.optmem_max

各ソケットの最大バッファーサイズ。

net.ipv4.tcp_mem

このパラメーターは、TCP スタックのメモリ使用量を反映します。単位は、ほとんどの場合 4 KB のメモリページです。

  • 最初の値は、メモリ使用量の下限です。

  • 2 番目の値は、ストレステストを実行するときにバッファーが耐えることができる最大ストレスです。

  • 3 番目の値は、メモリ使用量の上限です。メモリ使用量が上限を超えると、システムはパケットを破棄してメモリ使用量を減らします。帯域幅遅延積 (BDP) が大きいネットワークでは、値を増やすことができます。単位はバイトではなくメモリページです。

net.ipv4.tcp_rmem

受信バッファーサイズ。このパラメーターは、自動構成のためにソケットが使用するメモリのサイズを指定します。

  • 最初の値は、ソケット受信バッファーの最小サイズです。単位: バイト。

  • 2 番目の値はデフォルト値で、rmem_default 値を上書きできます。システムのビジネス負荷が軽い場合は、デフォルト値を使用できます。単位: バイト。

  • 3 番目の値は、ソケット受信バッファーの最大サイズで、rmem_max 値を上書きできます。単位: バイト。

net.ipv4.tcp_wmem

送信バッファーサイズ。このパラメーターは、自動構成のためにソケットが使用するメモリのサイズを指定します。

  • 最初の値は、ソケット送信バッファーの最小サイズです。単位: バイト。

  • 2 番目の値はデフォルト値で、wmem_default 値を上書きできます。システムのビジネス負荷が軽い場合は、デフォルト値を使用できます。単位: バイト。

  • 3 番目の値は、送信バッファーの最大サイズ (バイト単位) です。この値は wmem_max を上書きしません。

net.ipv4.tcp_keepalive_time

TCP がキープアライブメッセージを送信して TCP 接続が有効かどうかを確認する間隔。単位: 秒。

net.ipv4.tcp_keepalive_intvl

応答が返されない場合に TCP がキープアライブメッセージを再送する間隔。単位: 秒。

net.ipv4.tcp_keepalive_probes

TCP 接続が無効と見なされる前に送信できるキープアライブメッセージの最大数。

net.ipv4.tcp_sack

このパラメーターは、TCP 選択的確認応答 (SACK) を有効にするかどうかを指定します。値が 1 の場合は、TCP SACK が有効であることを示します。TCP SACK 機能を使用すると、サーバーは不足しているパケットのみを送信できるため、パフォーマンスが向上します。ワイドエリアネットワーク (WAN) 通信では、この機能を有効にすることをお勧めします。この機能により CPU 使用率が増加することに注意してください。

net.ipv4.tcp_timestamps

TCP タイムスタンプ。サイズは 12 バイトで、TCP ヘッダーで伝送されます。タイムスタンプは、再送タイムアウトメソッド (RFC 1323) よりも正確な方法で往復レイテンシ (RTT) の計算をトリガーするために使用されます。パフォーマンスを向上させるには、このオプションを有効にすることをお勧めします。

net.ipv4.tcp_window_scaling

このパラメーターは、RFC 1323 で定義されているウィンドウスケーリングを有効にするかどうかを指定します。システムが 64 KB より大きい TCP ウィンドウを使用できるようにするには、値を 1 に設定してウィンドウスケーリングを有効にします。最大 TCP ウィンドウサイズは 1 GB です。このパラメーターは、TCP 接続の両端でウィンドウスケーリングが有効になっている場合にのみ有効になります。

net.ipv4.tcp_syncookies

このパラメーターは、TCP SYN Cookie (SYN_COOKIES) を有効にするかどうかを示します。カーネルは CONFIG_SYN_COOKIES を有効にしてコンパイルする必要があります。SYN_COOKIES は、ソケットが多すぎる接続試行によって過負荷になるのを防ぐことができます。

  • デフォルト値は 0 で、TCP SYN Cookie 機能が無効であることを示します。

  • このパラメーターが 1 に設定され、SYN_RECV キューがいっぱいになると、カーネルは SYN パケットへの応答を変更します。SYN+ACK 応答パケットでは、初期シリアル番号は、ソース IP、ソースポート、宛先 IP、宛先ポート、およびタイムスタンプの 5 つのパラメーターから計算された慎重に作成された値です。ACK パケットで確認されたシーケンス番号は以前に計算された値ではないため、悪意のある攻撃者は応答できないか、誤って応答する可能性がありますが、正当なリクエスターは受信した SYN+ACK パケットに正しく応答します。net.ipv4.tcp_syncookies が有効になっている場合、net.ipv4.tcp_max_syn_backlog は無視されます。

net.ipv4.tcp_tw_reuse

このパラメーターは、TIME-WAIT ソケット (TIME-WAIT ポート) を使用して TCP 接続を確立できるかどうかを指定します。

net.ipv4.tcp_tw_recycle

このパラメーターは、システムが TIME-WAIT ソケットをできるだけ早くリサイクルするかどうかを指定します。

net.ipv4.tcp_fin_timeout

ローカル側がソケット接続を切断した後、TCP 接続が FIN-WAIT-2 状態のままである期間。単位: 秒。この期間中、ピアが切断されたり、接続を終了しなかったり、予期しないプロセスの終了が発生したりする可能性があります。

net.ipv4.ip_local_port_range

ローカル TCP/UDP プロトコルポート番号。

net.ipv4.tcp_max_syn_backlog

このパラメーターは、システム内の SYN_RECV 状態の TCP 接続の数を決定します。

SYN_RECV 状態は、システムが SYN パケットを受信し、SYN+ACK パケットで応答し、3 ウェイハンドシェイクでピアからの最終的な ACK を待っている段階です。これは、ピアによってまだ確認されていない、キューに保存できる接続リクエストの最大数です。サーバーが頻繁に過負荷になる場合は、この数を増やしてみてください。デフォルト値はインスタンスのメモリの影響を受け、最大デフォルト値は 2048 です。

net.ipv4.tcp_westwood

このパラメーターは、クライアントで輻輳制御アルゴリズムを有効にします。輻輳制御アルゴリズムは、スループットの評価を維持し、全体的な帯域幅使用率を最適化しようとします。WAN 通信には、前述のアルゴリズムを有効にすることをお勧めします。

net.ipv4.tcp_bic

このパラメーターは、長距離ネットワークでギガバイト接続をより有効に活用するために、バイナリ増加輻輳制御が有効になっているかどうかを指定します。WAN 通信では、この機能を有効にすることをお勧めします。

net.ipv4.tcp_max_tw_buckets

TIME_WAIT 状態で許可される接続の最大数。TIME_WAIT 状態の接続数がデフォルト値より大きい場合、接続はすぐに終了します。デフォルト値は、インスタンスのメモリサイズによって異なります。最大デフォルト値は 262144 です。

net.ipv4.tcp_synack_retries

接続が SYN_RECV 状態のときに SYN-ACK パケットが再送される回数。

net.ipv4.tcp_abort_on_overflow

値が 1 の場合、システムが短時間で多くのリクエストを受信し、関連するアプリケーションがリクエストの処理に失敗した場合に、システムが RST パケットを送信して接続を終了できるようになります。アプリケーションの処理効率を最適化して、処理能力を向上させることをお勧めします。デフォルト値: 0。

net.ipv4.route.max_size

カーネルで許可されるルートの最大数。

net.ipv4.ip_forward

インターフェイス間のメッセージ転送。

net.ipv4.ip_default_ttl

パケットが通過できるホップの最大数。

net.netfilter.nf_conntrack_tcp_timeout_established

確立された接続で特定の期間内にパケットが送信されない場合、システムは iptables を使用して接続を終了します。

net.netfilter.nf_conntrack_max

追跡できる接続数を指定する最大ハッシュ値。

リファレンス