kernelチューニング †このWIKIのような小さいサイトだと、ほぼデフォルトの設定でことは足りるが、 単純にサーバ台数を増やすということも可能だが、コストもかかるし、当然障害が増える箇所も増えるなど良いことばかりではない。 そんなときにkernelのチューニング一つで、サーバを増やさなくても良いこともある。 それ以外にも、OSの挙動だったり、アプリの挙動だったりを制御することも出来るので、知っていて損はないはず。 ここではCentOSでのkernelのチューニングの方法をメモ。 また、以下のチューニングはsysctlコマンドでも可能なので、そちらも必要であれば参照されたし。
backlogチューニング †backlogとは、一度に受け入れられるTCPセッションの数。 ・確認方法 # sysctl -a | grep net.ipv4.tcp_max_syn_backlog ただし、この値はnet.core.somaxconnより大きかった場合、net.core.somaxconnの値を優先する。 net.core.somaxconn †一度に受け入れられるTCPセッションのキューの数。 注意してほしいのは、この設定をデフォルトのままにしておくと、上記で書いたように、 確認方法 # sysctl -a | grep net.core.somaxconn exec-shield †exec-shieldはデフォルト"1"で設定されている。 変更の値は以下が用意されている(CentOS6.5で検証) 設定変更 †★一時的に変更(次回起動時はデフォルトに戻る) # echo “3” > /proc/sys/kernel/exec-shield ★永続変更(次回起動時にも設定を維持する) # vim /etc/sysctl.conf ★設定を反映 上記の①、②どちらもでも可能。 ★確認方法 # sysctl kernel.exec-shield 参考 †http://ebookfan.mobi/web/dev/linux/linux-kernel-tuning.html |