Nginxの最大接続数は受け付けている通信だけでなくバックエンドのサーバのセッションも含まれる

Nginxで最大接続数の監視をしたい場合に注意が必要になる点があります。まず、Nginxをリバースプロキシとして利用するケースが多いと思います。


そして、チューニングとして、次のの設定を行うと思います。nginxの最大接続数は、「worker_processes」×「worker_connections」とよくあります。実は他にも設定すべき項目があるんですが、今回は別の話で、


チューニングで最大接続数を設定した前提で、最大接続数とはどこを指すのか。


それは、Nginxのフロントから受け付ける接続、バックエンドの接続のすべてを計算する必要があります。実際に、ツールを使ってアクティブセッションを確認すると、その数字は、すべての確立された接続であることが確認できます。

 


例えば、あるWEBサイトをNginx経由で接続すると、端末からは1接続でも、バックエンドのサーバに対しては10セッションとかはる場合があります。この場合は、11と計算する必要があるのです。


つまり、1ユーザーあたり、10セッション程度で計算すると、最大接続数を2000としたら、200ユーザーまで同時に利用できるという計算になります。


このあたりは、実際に検証してもらうといいと思いますが、表の接続数だけ意識していると、結果が全然異なるということがあるので、注意が必要ですね。