nginxワーカープロセスの数


23

Drupalインストールを提供するためにnginxをセットアップしていますが、nginxワーカープロセスの設定に関する矛盾する情報を見つけているようです。1つのサイトには2つ、5つが必要、1つはプロセッサごとに1つ必要だと言われています...

nginxワーカープロセスの数を選択するにはどうすればよいですか?違いがあれば、それはVMWareクラスター上のゲストVMであり、1つの仮想プロセッサーを割り当てています。

回答:


16

Apacheやその他の接続Webサーバーごとのプロセスとは異なり、Nginx。1つのマスタープロセスを使用して、実際に接続を処理する少数のワーカープロセスを開始および監視します。デフォルトのワーカー数である1から始めることをお勧めします。

worker_processes  1;

これを増やす必要があるのは、nginxワーカーがIOでブロックされている時間が長すぎることがわかった場合のみです。これは、毎秒何百ものリクエストを処理するまでになりません。

これらの設定も役立つ場合があります。

worker_rlimit_nofile 8192;

events {
    worker_connections  2048;
    use epoll;
}

1
「worker_rlimit_nofile 8192」の用途を説明できますか?
ピクセル開発者

wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile。これは、ワーカーにそのulimitを増やすように指示します。
デイブチェイニー

15

SMPシステムでは、少なくともnCPUワーカープロセスを開始する必要があります。クアッドコア-4つなど。これはプロキシ処理に適しています。

いくつかの静的コンテンツを含むサイトを提供する場合は、ディスクごとに1つのワーカーを追加することをお勧めします。

ディスクサブシステムのパフォーマンスが低下したり、負荷が高すぎたりすると、nginxワーカープロセスがI / O操作でロックされ、他の要求を処理できなくなる可能性があります。この場合、ワーカープロセスの数を適切な値(10の場合もある)に増やすか、ディスクキャッシュ用のメモリを追加する必要があります。

「ps ax」プリントアウトを調べます。「D」状態のワーカーはロックされています。少なくともnCPUワーカープロセスがブロックされなくなるまで増やします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.