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

Elastic Compute Service:Linux ECSインスタンスの一般的なカーネルネットワークパラメータとFAQ

最終更新日:Jan 23, 2025

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

考慮事項

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

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

  • カーネルパラメーターを変更する前に、各パラメーターの目的を理解する必要があります。 カーネルパラメーターの目的は、環境タイプまたはバージョンによって異なります。

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

Linuxインスタンスのカーネルパラメータの照会と変更

/proc/sys/ または /etc/sysctl.confを使用して、インスタンスランタイム中にカーネルパラメーターを変更できます。 次のセクションでは、2つのツールの違いについて説明します。

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

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

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

説明

Linuxカーネルバージョン4.12以降では、net.ipv4.tcp_tw_recycleパラメーターはsysctl.confファイルから削除されます。 net.ipv4.tcp_tw_recycleパラメーターは、4.12より前のカーネルバージョンでのみ設定できます。

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

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

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

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

    たとえば、net.ipv4.tcp_tw_recycleパラメーターの値を表示するには、次のコマンドを実行します。

    cat /proc/sys/net/ipv4/tcp_tw_リサイクル
  3. echoコマンドを実行して、カーネルパラメーターを含むファイルを変更します。

    たとえば、net.ipv4.tcp_tw_recycleパラメーターの値を0に変更するには、次のコマンドを実行します。

    echo "0" > /proc/sys/net/ipv4/tcp_tw_リサイクル

/etc/sysctl.conf設定ファイルのカーネルパラメーターの表示と変更

  1. Linuxオペレーティングシステムを実行している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="[$例]"
      説明

      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.de fault.disable_ipv6 = 1
        net.ipv6.conf.lo.disable_ipv6 = 1 
      4. Escキーを押して :wqと入力し、ファイルを保存して閉じます。

      5. 設定を有効にするには、次のコマンドを実行します。

        /sbin/sysctl -p

Linux ECSインスタンスの共通カーネルネットワークパラメータに関するFAQ

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

問題の説明

Linux ECSインスタンスに接続できません。 インスタンスをpingすると、pingパケットが破棄されるか、pingが失敗します。 次のエラーメッセージは、/var/log/messageシステムログに頻繁に表示されます。

2月6日16:05:07 i-*** カーネル: nf_conntrack: テーブルフル、パケットのドロップ。
2月6日16:05:07 i-*** カーネル: nf_conntrack: テーブルフル、パケットのドロップ。
2月6日16:05:07 i-*** カーネル: nf_conntrack: テーブルフル、パケットのドロップ。
2月6日16:05:07 i-*** カーネル: nf_conntrack: テーブルフル、パケットのドロップ。

原因

ip_conntrackは、LinuxオペレーティングシステムのNATモジュールであり、接続エントリを追跡します。 ip_conntrackモジュールは、ハッシュテーブルを使用して、TCPの確立された接続エントリを記録する。 ハッシュテーブルがいっぱいになると、新しい接続のパケットは破棄され、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. VNC (Virtual Network Computing) を使用してインスタンスに接続します。

    詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

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

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

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

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

      例: 655350

      net.netフィルター。nf_conntrack_max = 655350
    4. Escキーを押して :wqと入力し、ファイルを保存して閉じます。

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

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

    net.netフィルター。nf_conntrack_tcp_timeout_established = 1200
  4. 設定を有効にするには、次のコマンドを実行します。

    sysctl -p

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

問題の説明

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

2月18日12:28:38 i-*** カーネル: TCP: 時間待ちバケットテーブルのオーバーフロー
2月18日12:28:44 i-*** カーネル: printk: 227メッセージが抑制されました。
2月18日12:28:44 i-*** カーネル: TCP: 時間待ちバケットテーブルのオーバーフロー
2月18日12:28:52 i-*** カーネル: printk: 121メッセージが抑制されました。
2月18日12:28:52 i-*** カーネル: TCP: 時間待ちバケットテーブルのオーバーフロー
2月18日12:28:53 i-*** カーネル: printk: 351メッセージが抑制されました。
2月18日12:28:53 i-*** カーネル: TCP: 時間待ちバケットテーブルのオーバーフロー
2月18日12:28:59 i-*** カーネル: printk: 319メッセージが抑制されました。

原因

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を使用してインスタンスに接続します。

    詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、既存のTCP接続数を照会します。

    netstat -antp | awk 'NR>2 {print $6}'| 並べ替え | uniq -c

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

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

    cat /etc/sysctl.conf | grep net.ipv4.tcp_max_tw_バケット

    次の図に示すコマンド出力は、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
    2. Iキーを押して挿入モードに入ります。

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

      例: 65535

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

  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を使用してインスタンスに接続します。

    詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

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

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

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

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

      例: 10。

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

  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メソッドを使用して、入力ストリームと出力ストリームに基づいてファイルの最後を確認します。 戻り値が -1の場合、ファイルの末尾に達しています。

      2. 接続を終了するには、closeメソッドを使用します。

    • C言語

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

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

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

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

問題の説明

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

原因

この問題は、サーバー側のnet.ipv4.tcp_tw_recycleおよびnet.ipv4.tcp_timestampsパラメーターの値が1に設定されているために発生する可能性があります。

サーバー側のnet.ipv4.tcp_tw_recycleおよびnet.ipv4.tcp_timestampsパラメーターの値が1に設定されている場合、サーバーは各TCP接続パケットのタイムスタンプをチェックします。 タイムスタンプが昇順で受信されない場合、サーバーは応答しません。

解決策

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

  • ECSインスタンスがリモートサーバーとしてデプロイされている場合、net.ipv4.tcp_tw_recycleおよびnet.ipv4.tcp_timestampsパラメーターを0に設定します。

  • ApsaraDB RDSインスタンスがリモートサーバーとしてデプロイされている場合、サーバー上のカーネルパラメーターを変更することはできません。 代わりに、クライアントでnet.ipv4.tcp_tw_recycleおよびnet.ipv4.tcp_timestampsパラメーターを0に変更できます。

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

    詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。

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

    1. 次のコマンドを実行して、/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と入力し、ファイルを保存して閉じます。

  3. 設定を有効にするには、次のコマンドを実行します。

    sysctl -p

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

項目

説明

net.core.rmem_default

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

net.core.rmem_max

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

net.core.wmem_default

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

net.core.wmem_max

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

net.core.net dev_max_backlog

カーネルの処理速度がNIC (network interface controller) の受信速度よりも遅い場合、NICの受信キューに余分なパケットが格納されます。

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

net.core.somaxconn

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

net.ipv4.tcp_max_syn_backlogパラメーターは、3ウェイハンドシェイク中のハーフオープン接続の最大数を指定します。 このパラメーターとは異なり、net.core.somaxconnパラメーターは、確立済み状態の最大接続数を指定します。 ECSインスタンスのビジネス負荷が大きい場合は、net.core.somaxconnパラメーターの値を大きくします。 listen(2) 関数のbacklogパラメーターでは、リスニングポートの [確立済み] 状態の最大接続数も指定します。 バックログの値がnet.core.somaxconnの値より大きい場合、net.core.somaxconnの値が優先されます。

net.core.optmem_max

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

net.ipv4.tcp_mem

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

  • 第1の値は、メモリ使用量の下限である。

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

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

net.ipv4.tcp_rmem

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

  • 第1の値は、ソケット受信バッファの最小サイズである。 単位:byte。

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

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

net.ipv4.tcp_wmem

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

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

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

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

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_タイムスタンプ

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パケットに応答してSYN-ACKパケットに初期シーケンス番号を追加します。 初期シーケンス番号には、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、およびタイムスタンプに基づいて計算されるフィールドが含まれます。 このように、クライアントは、初期シーケンス番号を使用して、ACKパケット内の異なるシーケンス番号を計算し、予想通りにSYN-ACKパケットに応答する。 攻撃者はSYN-ACKパケットを誤って識別するか、ACKパケットで応答できません。 net.ipv4.tcp_syncookiesを有効にすると、net.ipv4.tcp_max_syn_バックログは無視されます。

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状態では、サーバは待機し、クライアントからのACKパケットを期待する。 クライアントへの接続の確立中に、サーバは、SYNパケットを受信し、SYN-ACKパケットで応答し、次いでACKパケットを受信して、3ウェイハンドシェイクを実施する。 このパラメーターは、キューに格納できる接続の最大数も示します。 サーバーが頻繁にオーバーロードされる場合は、net.ipv4.tcp_max_syn_backlogパラメーターの値を増やします。 デフォルト値は、インスタンスのメモリサイズによって異なります。 最大デフォルト値は2048です。

net.ipv4.tcp_ウェストウッド

このパラメータは、クライアント上で輻輳制御アルゴリズムを有効にする。 輻輳制御アルゴリズムは、スループットの評価を維持し、全体的な帯域幅使用を最適化しようとする。 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

IPv4パケット転送機能を有効にするかどうかを指定します。

net.ipv4.ip_default_ttl

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

net.netフィルター。nf_conntrack_tcp_timeout_established

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

net.netフィルター。nf_conntrack_max

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

参考資料