カーネル パラメーターの最適化は、主に、Linux システムの Nginx アプリケーションのシステム カーネル パラメーターの最適化です。
参考のために最適化の例を以下に示します。
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
ネット。 ipv4.tcp_keepalive_time = 30
上記のカーネルパラメータ値を/etc/sysctl.confファイルに追加し、以下のコマンドを実行して有効にします
/sbin/sysctl -p
上記のパラメータは以下に紹介されています:
net .ipv4.tcp_max_tw_buckets は、timewait の数を設定するために使用されます。デフォルトは 180000 ですが、ここでは 6000 に変更されます。
net.ipv4.ip_local_port_range は、システムによってオープンできる最小ポート範囲を設定するために使用されます 1024
net.ipv4.tcp_tw_recycle は、起動時間のリサイクルの速度を設定するために使用されます。
net.ipv4.tcp_tw_reuse は再利用の設定に使用され、時間待機ソケットを新しい TCP 接続に再利用できるようにします。
net.ipv4.tcp_syncookies は syn 待機キューが表示されると、Cookie 処理が有効になります。
net.core.somaxconn のデフォルト値は 128 です。このパラメータは、システムによって同時に開始される TCP 接続の数を調整するために使用されます。そのため、デフォルト値では接続タイムアウトまたは再送信が発生する可能性があります。このパラメータは、同時リクエストの数と合わせて調整する必要があります。
net.core.netdev_max_backlog は、各ネットワーク インターフェイスがカーネルの処理よりも速くパケットを受け入れた場合に、キューに送信できるパケットの最大数を表します。
net.ipv4.tcp_max_orphans は、ユーザー ファイル ハンドルに関連付けられていないシステム内の TCP ソケットの最大数を設定するために使用されます。この数を超えると、孤立した接続は直ちにリセットされ、警告メッセージが出力されます。この制限は、単純な DOS 攻撃を防ぐためのものです。この制限に依存しすぎたり、人為的にこの値を減らしたりすることはできません。多くの場合、この値を増やす必要があります。
net.ipv4.tcp_max_syn_backlog は、クライアントから確認情報をまだ受け取っていない接続リクエストの最大値を記録するために使用されます。 128MB のメモリを備えたシステムの場合、セカンダリ パラメータのデフォルト値は 1024 で、メモリが小さいシステムの場合は 128
net.ipv4.tcp_synack_retries パラメータの値によって、カーネルが応答する前に送信される SYN+ACK パケットの数が決まります。接続の確立
net.ipv4 .tcp_syn_retries は、カーネルが接続を放棄する前に送信される SYN パケットの数を表します。
net.ipv4.tcp_fin_timeout は、ソケットが FIN-WAIT-2 状態に留まる時間を決定します。デフォルト値は 60 秒です。この値を正しく設定することは非常に重要です。場合によっては、負荷が小さい Web サーバーでも多数のデッド ソケットが発生し、メモリ オーバーフローの危険性があります。
net.ipv4.tcp_keepalive_time は、キープアライブの開始時に tcp がキープアライブ メッセージを送信する頻度を示します。デフォルト値は 2 (単位は時間) です。
著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
上記では、NGINX カーネル パラメーターの最適化についてその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。