ホームページ  >  記事  >  運用・保守  >  Nginxサーバープロセス数の設定方法とマルチコアCPUの活用方法

Nginxサーバープロセス数の設定方法とマルチコアCPUの活用方法

WBOY
WBOY転載
2023-05-12 09:46:052010ブラウズ

nginx 設定ファイル nginx.conf

lnmp ワンクリック インストールのデフォルト設定では、次の操作を実行するために、まず nginx 設定ファイル nginx.conf を見つける必要があります。パッケージ、nginx.conf

/usr/local/nginx/conf/nginx.conf

に保存 他の環境に nginx をインストールする場合と同様に、

find / -name nginx.conf

を使用して設定ファイルの保存パスを見つけることができます。

nginx worker_processes プロセス番号の設定

nginx 設定ドキュメント nginx.conf は、この Q&A によると、nginx ワーカー プロセスの数を変更するために worker_processes を設定できます。次の理由により、nginx の work_processes プロセスの数を 1 に設定することが推奨されることが示されています。

しかし、私たちの目的は、異なるコアの CPU で実行するために異なる work_processes プロセスを割り当てることなので、現在の VPS プロバイダーの linode に基づいています。例として 512 構成では、サーバーには 8 つの論理 CPU がありますが、ユーザーとしては 4 つの論理 CPU しかありません。そのため、ここでは 3 つの worker_processes プロセスを実行するように設定しています。その理由は、デフォルトでは他のプログラムが最初のプロセスにあるためです。 1 つの論理 CPU (cpu0) で実行し、他のプログラムに影響を与えないように、これら 3 つのプロセスを他の 3 つの論理 CPU (cpu1、cpu2、cpu3) で実行するように割り当てます。

worker_processes 3;

一般的には、次のように言われています。論理 CPU が複数ある場合は、worker_processes を複数設定するのが適切ですが、worker_processes が 8 個を超えると意味がありません。その理由は上記の英語の段落で説明されています。

次のコマンドを使用して、現在の CPU 状況を表示することができます:

cat /proc/cpuinfo

または論理 CPU の数を直接表示します:

cat /proc/cpuinfo |grep "processor"|wc -l

nginx worker_cpu_affinity 設定

nginx wiki の情報によると:

worker_cpu_affinity はデフォルトでは有効になっていません。例から、 0001 0010 0100 1000 がそれぞれ 1 番目、2 番目を表すことがわかります。 、3、および 4 つの論理 CPU があるため、0010 0100 1000 を設定して、3 つのプロセスをそれぞれ 2 番目、3 番目、および 4 番目の論理 CPU にバインドできます。また、worker_cpu_affinity が同じプロセスを 2 つの論理 CPU にバインドできることもわかります。

worker_processes 3;
worker_cpu_affinity 0010 0100 1000;

0101 は論理 CPU の 1 番目と 3 番目の論理 CPU、1010 は論理 CPU の 2 番目と 4 番目です。
nginx プロセスは、マルチコア CPU 設定の有効化とテストに割り当てられます

nginx.conf ファイルを保存し、nginx 構成ファイルをリロードします:

worker_processes 2;
worker_cpu_affinity 0101 1010;

Apache をインストールします別のコンピュータ ホストの下で ab を実行してテストします:
ab -n 20000 -k http://www.1990y.com/p.php

mysql クエリを必要とする php ページをテストすることも、静止画像またはページ。


テストされたサーバーでは、top を使用して現在のサーバーの状況を表示し、1 を押すと各論理 CPU の使用率を表示できます。

CPU マルチコア利用を有効にする

ルール設定 (1) CPU のコア数。複数の桁があります。1 はコアが有効であることを意味します, 0 はカーネルのシャットダウンを意味します

(2) 最大 8 つのワーカープロセスを開くことができます。8 つを超えるワーカーを使用すると、パフォーマンスが向上せず、安定性が低下します。そのため、8 つのプロセスで十分です



デモの例

2 コア CPU、2 つのプロセスを開始

/usr/local/nginx/sbin/nginx -s reload

01 は最初の CPU コアが有効であることを意味し、10 は 2 番目の CPU コアが有効であることを意味します
worker_cpu_affinity 01 10; 2 つのプロセスがオープンされていることを意味します。最初のプロセスは最初の CPU コアに対応し、2 番目のプロセスは 2 番目の CPU コアに対応します。

2 つのコア CPU、8 つのプロセスがオープンされます

  worker_processes 2; 
  worker_cpu_affinity 01 10;

8 つのプロセスが開かれ、それぞれ 2 つのコア

8 コア CPU を開くことに対応します。8 つのプロセスを開く

  worker_processes 8; 
  worker_cpu_affinity 01 10 01 10 01 10 01 10;

00000001 は最初の CPU コアを開くことを意味し、00000010 は 2 番目の CPU コアを開くことを意味します。など

#8 コア CPU、オープン 2 プロセス

  worker_processes 8; 
  worker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001;

10101010 は 2、4、6、8 番目のコアを開始することを意味し、01010101 は 1、3、5、7 コアを開始することを意味します

2 プロセスは 8 コアに対応

nginx を再起動

設定が完了したら、nginx サービスを再起動する必要があります

  worker_processes 2; 
  worker_cpu_affinity 10101010 01010101;

以上がNginxサーバープロセス数の設定方法とマルチコアCPUの活用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。