Nginx(9):nginxの原理

1.マスター和労働者

ここに画像の説明を挿入します
ここに画像の説明を挿入します

2.労働者はどのように働いていますか?

ここに画像の説明を挿入します

3.1人のマスターと複数のワーカーの利点

  • nginx -s reloadホットデプロイメントを使用できます;
  • 各ワーカーは独立したプロセスです。ワーカーの1つに問題がある場合、他のワーカーはサービスを中断することなく要求プロセスを実装するために競争を続けます。

4.労働者の数を設定します

ワーカーの数はサーバーのCPUの数と同じであることが最も適切です。

nginxとredisはどちらもio多重化メカニズムを使用します。各ワーカーは独立したプロセスですが、各プロセスにはメインプロセスが1つしかありません。リクエストは、数千万のリクエストであっても、非同期で非ブロッキング方式で処理されます。そうではありません。問題。各ワーカースレッドは、CPUのパフォーマンスを最大化できます。したがって、サーバーのワーカー数とCPU数は同じであることが最も適切です。設定を少なくするとCPUが無駄になり、設定しすぎるとCPUのコンテキスト切り替えが頻繁に発生して損失が発生します。

#设置 worker 数量
worker process 4

#work绑定cpu(4 work 绑定 4cpu)
worker_cpu_affinity 0001 0010 0100 1000

##work绑定cpu(4 work 绑定 8cpu中的4个)
worker_cpu_affinity 0000001 00000010 00000100 00001000

5.接続数worker_connection

  • ワーカーの2つまたは4つのリクエストを占有して、リクエストを送信します
  • Nginxにはマスターと4つのワーカーがあります。各ワーカーは1024の最大接続数をサポートします。サポートされる同時接続の最大数は次のとおりです。
    • 通常の静的アクセスの最大同時数:worker_connection * worker_processes / 2
    • リバースプロキシとしてのhttp、同時実行の最大数:(worker_connection * worker_processes / 4リバースプロキシサーバーとして、各同時実行はクライアントとの接続、バックエンドサーバーとの接続を確立するため、さらに2つの接続を占有します)

おすすめ

転載: blog.csdn.net/houwanle/article/details/112132881