ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

nginxの最大接続数は、worker_connectionsでデフォルト値は1024

リバースプロキシとしてよく利用されるnginxですが、静的ページの処理が圧倒的に速いので大量の処理をさばきたい場合に便利です。また、フリーで使えるで費用がかからないのがいいですね。CentOSなどで構築すれば、実質費用ゼロで構築できます。


中小企業でサーバー側のネットワークをユーザーに見せたくない場合に、中継になってくれますので、隠蔽やバックエンドのサーバーの負荷を下げるなど色んなメリットがあります。


そして、このnginxですが、最大接続数は、どこで設定するかということ、nginxの最大接続数は、worker_connectionsでデフォルト値は1024になります。


よく、nginxの最大接続数は、「worker_processes」×「worker_connections」と書かれていることが多いです。


この理由は、worker_connectionsの値は、worker_processes単位だからです。worker_processesはnginxサーバに割り当てたCPU数でいくつプロセスを使うかですが、推奨はCPU数に合わせるです。autoという設定もできます。


また、設定上はCPU数以上の設定も可能です。話がそれましたが、セッション数は「worker_connections」の数字を調整すれば、OKですが、検証で、上記二つの設定だけあげればいいということはなかったので、これはまた別の機会で、、、


そして、検証であえてworker_connectionsの値を一桁にしてみましたが、当然、接続数が限定されてしまい、追加でNginx経由でバックエンドのサーバーに接続できなくなったので、この設定の有効性を確認することができました。


デフォルトの設定でもそこそこの最大接続数をさばくことができますが、大幅に増やしたい場合は、チューニングが必要ですので、その設定は別記事で紹介します。