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

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

May 12, 2023 am 09:46 AM
nginx cpu

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Apr 21, 2024 am 07:22 AM

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法

144コア、3DスタックSRAM:富士通、次世代データセンタープロセッサMONAKAの詳細を発表 144コア、3DスタックSRAM:富士通、次世代データセンタープロセッサMONAKAの詳細を発表 Jul 29, 2024 am 11:40 AM

144コア、3DスタックSRAM:富士通、次世代データセンタープロセッサMONAKAの詳細を発表

リークにより、Intel Arrow Lake-U、-H、-HX、-S の主要な仕様が明らかに リークにより、Intel Arrow Lake-U、-H、-HX、-S の主要な仕様が明らかに Jun 15, 2024 pm 09:49 PM

リークにより、Intel Arrow Lake-U、-H、-HX、-S の主要な仕様が明らかに

AM4 は死ぬことを拒否、ニュースによると AMD は最大 4.8GHz のクロックで動作する Ryzen 9 5900XT/7 5800XT を発売するとのこと AM4 は死ぬことを拒否、ニュースによると AMD は最大 4.8GHz のクロックで動作する Ryzen 9 5900XT/7 5800XT を発売するとのこと Jun 05, 2024 pm 09:43 PM

AM4 は死ぬことを拒否、ニュースによると AMD は最大 4.8GHz のクロックで動作する Ryzen 9 5900XT/7 5800XT を発売するとのこと

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

thinkphpの実行方法

nginx へようこそ!それを解決するにはどうすればよいですか? nginx へようこそ!それを解決するにはどうすればよいですか? Apr 17, 2024 am 05:12 AM

nginx へようこそ!それを解決するにはどうすればよいですか?

Nodejsプロジェクトをサーバーにデプロイする方法 Nodejsプロジェクトをサーバーにデプロイする方法 Apr 21, 2024 am 04:40 AM

Nodejsプロジェクトをサーバーにデプロイする方法

HTMLファイルからURLを生成する方法 HTMLファイルからURLを生成する方法 Apr 21, 2024 pm 12:57 PM

HTMLファイルからURLを生成する方法

See all articles