Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> nginxの最適化命令(プロフィール)

nginxの最適化命令(プロフィール)

  
 

8 worker_processes;プロセスの

nginxの数は、CPUの数、それの通常複数に応じて指定することが推奨されます。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
は、

8のCPUに割り当てられたプロセスの各プロセスのCPU、実施例8に割り当てられ、もちろん、一つは書くことができ、またはプロセスの複数に割り当てますCPU。 worker_rlimit_nofile 102400;
は、

このコマンドは、nginxのプロセスがファイル記述子の数を開いているとき、理論値は、ファイルのnginxのプロセスの数が、割り当て要求とnginxので割っオープンの最大数(のulimit -n)でなければならないことを意味し均一でないので、それはのulimit -nの値に合わせておくのがベストですので。ファイルディスクリプタを使用し、I /Oモデルの

のepollの使用は、これはそれを言うまでもないです。 worker_connections 102400;

接続のプロセス最大数ごとに許可される最大接続数は、理論的には、各サーバーはnginxのworker_processes * worker_connectionsです。 keepalive_timeout 60;

キープアライブタイムアウトを。 4Kをclient_header_buffer_size;
ヘッドの

クライアント要求バッファのサイズ、これはあなたのページングシステムのサイズに応じて設定することができ、要求は通常、ヘッド1Kのサイズを超えていませんが、ページングシステムは、より一般的に大きなを持っているので、 1Kので、ここでは、ページサイズに設定されています。ページサイズは、getconf PAGESIZEなさ注文することができます。 = 102400非アクティブ= 20代open_file_cache最大;

これは、指定されたファイルのキャッシュを開きますが、デフォルトでは有効になっていない、最大は、バッファの数を指定お薦めやファイルの同じ数を開く、非アクティブなファイルをしたどのくらいを指し、キャッシュを削除するように要求された後。 open_file_cache_valid 1930;

これは、有効な情報がないかどうかを確認するどのくらいのキャッシュを指します。 open_file_cache_min_uses 1;この数を超えた場合、最も使用

非アクティブな時間open_file_cache命令パラメータファイル数は、ファイルディスクリプタは、非アクティブ時にファイルがある場合の実施形態は、前述した、キャッシュ内で開かれています時間が使用されていない、それが削除されます。
最適化net.ipv4.tcp_max_tw_buckets

カーネルパラメータ= 6000

TIMEWAIT数は、デフォルトで18万です。 net.ipv4.ip_local_port_range = 1024 65000

は、システムがポートの範囲を開くことができます。 net.ipv4.tcp_tw_recycle = 1

高速リカバリを可能にTIMEWAIT。 net.ipv4.tcp_tw_reuse = 1

を開き、再利用。 TIME-WAITソケットは、新しいTCP接続のために再使用が可能。 net.ipv4.tcp_syncookies = 1

クッキーオープンSYN、SYNキューのオーバーフローが発生した場合、処理されたクッキーを有効にします。 net.core.somaxconn = 262144

Webアプリケーションのバックログのデフォルト機能を聞く私たちにnet.core.somaxconnカーネルパラメータを与える128に制限されているが、nginxのデフォルトはNGX_LISTEN_BACKLOG 511に定義され、これを調整する必要があります値。 net.core.netdev_max_backlog = 262144
速い速度ときに

の処理コアよりも、これらのパケット・レート、キューへのパケットの最大許容数のパケットを受信する各ネットワーク・インタフェース。 TCPソケットの数にnet.ipv4.tcp_max_orphans = 262144

システムアップがどのユーザファイルハンドルにリンクされていません。この数を超えると接続がすぐにリセット孤児なると警告メッセージを出力します。単純なDoS攻撃を防ぐために、この制限は、(もしメモリの増加が後に)この値を大きくする必要がありすぎて、それに依存しているか、人為的に、この値を減らすことはできません。 net.ipv4.tcp_max_syn_backlog = 262144

まだ確認応答の最大クライアント接続情報要求を受信しないレコード。メモリシステムの128Mがあるため、デフォルト値が1024で、小さなメモリシステムは128です。 net.ipv4.tcp_timestamps = 0

タイムスタンプの傷は、シーケンス番号を避けました。 1Gbpsのリンクは、以前に使用したシリアル番号に遭遇するはずです。タイムスタンプは、カーネルは、この&'を受け入れることができます。異常な'パケット。ここでは、オフにする必要があります。 net.ipv4.tcp_synack_retries = 1

ピアへの接続を開くために、カーネルはSYNを送信する必要があり、SYNは、応答ACKの前に来ます。すなわち、第2のハンドシェイク中に、いわゆる3ウェイハンドシェイクです。この設定は、SYN + ACKパケットの送信を接続する前に中止されたコアの数を決定します。 net.ipv4.tcp_syn_retries = 1

カーネルで接続する前の数を確立するSYNパケットの放棄を送信します。ソケットは、請求項の端部によって閉じられている場合net.ipv4.tcp_fin_timeout = 1

は、このパラメータは、状態FIN-WAIT-2の中に残っている時間を決定します。間違ったピアとの接続を閉じることはできません、場合でも、マシンが予期せず。デフォルト値は60秒です。 2.2カーネルの正常値は180秒です、この設定を押すが、あなたのマシンがWEBサーバの軽負荷である場合でも、死んソケットとメモリのオーバーフローのために多くのリスクもあることを覚えて、FIN-することができますWAIT-2危険をFIN-WAIT-1は、それだけでメモリの1.5K、彼らの生存期間の延長まで食べることができるので、小さいより。 net.ipv4.tcp_keepalive_time = 30

場合は、キープアライブ、キープアライブメッセージのTCPの送信周波数の使用のみ。デフォルトは2時間です。


フルカーネルの最適化net.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel。 core_uses_pid = 1net.ipv4.tcp_syncookies = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.shmmax = 68719476736kernel.shmall = 4294967296net.ipv4.tcp_max_tw_buckets = 6000net.ipv4.tcp_sack = 1net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_rmem = 4096 87380 4194304net.ipv4.tcp_wmem = 4096 16384 4194304net.core.wmem_default = 8388608net.core.rmem_default = 8388608net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.core.netdev_max_backlog = 262144net.core.somaxconn = 262144net.ipv4.tcp_max_orphans = 3276800net.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_timestamps = 0net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_mem =9450万9.15億927000000net.ipv4.tcp_fin_timeout = 1net.ipv4.tcp_keepalive_time = 30net.ipv4.ip_local_port_range = 1024 65000

は、単純な最適化プロファイル

ユーザーのWWW WWWをnginxの、8 worker_processes; worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000。

Copyright © Windowsの知識 All Rights Reserved