カーネルパラメータの調整と恒久化
高負荷時に接続の取りこぼしが出るため、接続待ちキューの上限(somaxconn)を広げたい。試験的に変えて効果を見てから、再起動後も残る形にしたい。
手順
sysctl net.core.somaxconnまず現在値を記録する。変更前の値を控えておけば、効果が無かったときに正確に戻せる。sudo sysctl -w net.core.somaxconn=1024-wで即時変更する。ただしこれは揮発性で、再起動すると元に戻る。まず一時変更で効果を試すのが安全な順序。ss -ltn | head変更の影響を受ける箇所を観察する。Send-Q列がリッスンキュー上限を示し、アプリ側のbacklog指定とOS側上限の小さい方が実効値になる。echo 'net.core.somaxconn = 1024' | sudo tee /etc/sysctl.d/90-tuning.conf効果が確認できたら恒久化する。sysctl.confを直接編集せず、sysctl.d配下に用途別ファイルで置くと管理が楽で、他の設定と衝突しにくい。sudo sysctl --systemsysctl.d配下を含む全設定ファイルを読み込み直す。起動時と同じ経路で反映させることで、「再起動したら効いていなかった」を事前に発見できる。sysctl net.core.somaxconn最終値を確認して完了。変更値・変更理由・日付を運用メモに残しておくと、後任が「なぜこの値か」で悩まない。⚠
注意カーネルパラメータは1つの値がシステム全体に効く。いきなり恒久化せず「一時変更→効果測定→恒久化」の順を守ること。特にメモリやネットワーク系は、極端な値で逆に不安定になる。