worker_processes
がワーカー プロセスの数を表すことはわかっていますが、この値はどのように設定すればよいでしょうか?理論的にはCPUコア数の倍数で設定するのが正しいのですが、いったい何倍なのでしょうか?コアの数だけプロセスを設定するべきだという人もいますし、CPU コア数の 2 倍に設定するという説もあります。
しかし、ここには原則があるべきだと思います。そうでない場合、なぜ nginx はプログラム内のコアの数を決定し、対応するプロセスをフォークしないのでしょうか?この値は経験に基づいて判断する必要があると思いますが、この点について経験を共有できる人はいますか?
一般的には、CPU コアの数に設定するだけです。また、この構成はワーカー プロセスを指定された CPU コアにバインドするために使用され、オンサイトでのレジスターの再構築のコストを削減します。マルチ CPU コアの切り替えによって発生するその他のレジスタのパフォーマンス損失。この設定項目の詳細については、http://www.nginx.org/en/docs/ngx_core.... を参照してください。
さらに、Taobao によって管理されている nginx ブランチである Tengine は、auto コマンドを使用して、worker_processes と worker_cpu_affinity を自動的に構成できます。 Tengine はオープンソースになりました: http://tengine.taabao.org/
個人的に、私のマシンで nginx アプリケーションのみを実行する場合は、合計コア数を -1 に設定します。これは習慣かもしれませんが、常に非常にうまく機能しています~
オートでいいと思います。
リーリー