Drupalインストールを提供するようにnginxを設定しています。nginxワーカープロセス設定で矛盾する情報を見つけたようです。1つのサイトで2つ必要、1つで5つ必要、1つではプロセッサごとに1つ...
Nginxワーカープロセスの数を選択するにはどうすればよいですか?それが違いを生むなら、それはVMWareクラスター上のゲストVMであり、私はそれに1つの仮想プロセッサーを与えました。
Nginxは、Apacheおよび接続Webサーバーごとの他のプロセスとは異なります。 1つのマスタープロセスを使用して、実際に接続を処理する少数のワーカープロセスを開始および監視します。私の推奨は、デフォルトのワーカー数である1から始めることです。
worker_processes 1;
これを増やす必要があるのは、nginxワーカーがIOのブロックに費やしている時間が多すぎる場合です。これは、1秒あたり何百ものリクエストを処理するまで続きます。
これらの設定が役立つこともあります。
worker_rlimit_nofile 8192;
events {
worker_connections 2048;
use epoll;
}
SMPシステムでは、少なくともnCPUワーカープロセスを開始する必要があります(クアッドコア-4つなど)。これはプロキシのエヌグストです。
静的コンテンツの多いサイトにサービスを提供する場合は、ディスクごとに1つずつ、ワーカーを追加することをお勧めします。
ディスクサブシステムが不十分または負荷が高すぎる場合、nginxワーカープロセスがI/O操作でロックされ、他のリクエストを処理できなくなる可能性があります。この場合、ワーカープロセスの数を適切な値(数十)に増やすか、ディスクキャッシュ用のメモリを追加する必要があります。
「ps ax」のプリントアウトを見てください。「D」状態のワーカーはロックされています。少なくともnCPUワーカープロセスがブロックされなくなるまで増やします。