Kernelパラメータの変更
1. nofile (max number of open files)でサポートするオープンファイル数 設定値が低すぎる->ファイルオープンエラー、メモリ割り当て失敗、接続設定エラー
デフォルト:1024
推奨値:8192
ulimit -n 8192
ulimit -a
2. nproc (max user processes)ユーザーが作成できる最大プロセス数(プロセス数+スレッド数) に設定されている場合->ネイティブスレッドを作成できませんエラー
デフォルト:1024
推奨値:8192以上
ulimit -u 8192
ulimit -a
3.backlog接続接続要求を受信した高割合接続に失敗しました
echo 3000 >/proc/sys/net/core/netdev_max_backlog
echo 3000 >/proc/sys/net/core/somaxconn
4. timeout_timewait TCP/IPは、接続を閉じるリソースを再利用する前に経過する時間 を必要とする. timewait:閉じる間隔と閉じる間隔 の利点
-新しい接続を設定するよりも、クライアントとサーバへの再接続のコストが低い
-接続を閉じる方が高速で、新しい接続により多くのリソースを提供する デフォルト:75秒
推奨値:15秒
echo 30 >/proc/sys/net/ipv4/tcp_fin_timeout
5. TCP_KEEPALIVE_INTERVALアクティブ状態継続応答が受信場合、TCP/IP上でアクティブ状態継続伝送を繰り返す周波数は であると判定する.が失われたかどうかを調べる時間を減らす必要がある場合、 を減らす. tcp keepalive probes:連続アクティビティ持続伝送数が値を超えると、接続が切断されます.
-応答時間が長くなると、->probes値は 増加し、オーバーヘッドが減少します.
デフォルト:75秒
推奨値:15秒
echo 15 >/proc/sys/net/ipv4/tcp_keepalive_intvl
6. TCP_KEEPALIVE_PROBES受信確認されていない活動継続メッセージの再送信回数 .のネットワーク品質が低い場合、有効な通信 を維持するために->値を増加することができる.
デフォルト:9秒
推奨値:5秒
echo 5 >/proc/sys/net/ipv4/tcp_keepalive_probes
7. TCP_KEEPALIVE_TIME TCP/IPは、スタンバイ接続が元の状態のままであるか否かを検証しようとする周波数制御 を試みる.失われたターゲットの感度を低減->値 のオーバーヘッドを削減->非アクティブな接続を維持することは共通です.失われたターゲットが共通でない場合、 デフォルト:7200秒
推奨値:1200秒
echo 10 >/proc/sys/net/ipv4/tcp_keepalive_time
8.configファイルを修正して永続的に適用する
デフォルト:1024
推奨値:8192
ulimit -n 8192
ulimit -a
デフォルト:1024
推奨値:8192以上
ulimit -u 8192
ulimit -a
echo 3000 >/proc/sys/net/core/netdev_max_backlog
echo 3000 >/proc/sys/net/core/somaxconn
-新しい接続を設定するよりも、クライアントとサーバへの再接続のコストが低い
-接続を閉じる方が高速で、新しい接続により多くのリソースを提供する
推奨値:15秒
echo 30 >/proc/sys/net/ipv4/tcp_fin_timeout
5. TCP_KEEPALIVE_INTERVAL
-応答時間が長くなると、->probes値は
デフォルト:75秒
推奨値:15秒
echo 15 >/proc/sys/net/ipv4/tcp_keepalive_intvl
6. TCP_KEEPALIVE_PROBES
デフォルト:9秒
推奨値:5秒
echo 5 >/proc/sys/net/ipv4/tcp_keepalive_probes
7. TCP_KEEPALIVE_TIME
推奨値:1200秒
echo 10 >/proc/sys/net/ipv4/tcp_keepalive_time
8.configファイルを修正して永続的に適用する
/etc/security/limits.conf
# nofile tunning - max number of open files
* soft nofile 65536
* hard nofile 65536
# nproc tunning - max user processes
[user명] hard nproc 65536
[user명] soft nproc 65536
/etc/sysctl.conf
#tcp tunning
net.ipv4.tcp_fin_timeout = 30
net.core.netdev_max_backing = 3000
net.core.somaxconn = 3000
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_time = 1200
적용: sysctl -p
확인: sysctl -a
Reference
この問題について(Kernelパラメータの変更), 我々は、より多くの情報をここで見つけました https://velog.io/@linkclean/Kernel-파라미터-수정テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol