nginx環境での高負荷のサーバーを軽減させることが出来たパラメータについていくつか調べましたので紹介します。
/etc/nginx/nginx.conf accept_mutex_delay (time);
mutexという排他制御のシステムにより、プロセスがどこもいっぱいだった時の待機状態の時間を調節します。デフォルトは500msです。
net.ipv4.tcp_max_syn_backlog = 10240
TCP通信において、最初にSYNを送信し、SYN/ACKを返してくる待機状態になるクライアントの最大数を調節します。
net.core.somaxconn = 10240
こちらはTCP通信を同時進行するキュー数の最大数の指定です。 net.ipv4.tcp_max_syn_backlogとの優先順位を確認した所、この値はnet.core.somaxconnより大きかった場合、net.core.somaxconnの値を優先するようです。
これら2つは、/etc/sysctf.confに設置すれば恒常的に機能しますが。/proc以下に置くとrestartで消えます。
参考:
カーネルパラメータの一覧など nginx – カーネルパラメーターのチューニング – Qiita
http://qiita.com/sion_cojp/items/c02b5b5586b48eaaa469
Linuxカーネルパラメータの設定とチューニング、デフォルト値の調べ方 – oneのはてなダイアリー
http://eno0514.hatenadiary.jp/entry/20150622/1434905054