nginx.confのチューンとなります。
流れとしては、worker_rlimit_nofileの上限値を設定し、worker_connectionsを修正という感じ。
まずはプロセスチェック。
※1 ps aux |grep nginx |grep -v grep
※本サーバはCPUが8スレッドなのでworker_processesは7に設定しています。通常はworker_processes auto;で良いかと。
この場合はworker_processesの一番上の数字である3991になります。
その後、OS上でファイルディスクリプタの上限設定をチェック。
cat /proc/sys/fs/file-max
本サーバは、161114 でした。
worker_processesのファイルディスクリプタチェック
※2 cat /proc/3991/limits |grep open
だいたいこんな感じになってます。 Max open files 1024 4096 files この1024がnginx上でのworker_processes上限になっています。ここを上げようとしています。 vim /etc/nginx.conf pidの下あたりに追記。本サーバでは8192にしました。 worker_rlimit_nofile 8192
events内のworker_connections 1024; を
worker_connections 4096; に修正。
service nginx configtest
successfulが出れば、service nginx restart
※1-※2にて反映確認となります。