DSAS開発者の部屋:高負荷サイトのボトルネックを見つけるには(情報元のブックマーク数)

この思いつきというか、経験からくる知識がすごいな。

なんでかなあ、なんでかなあ、とApacheアクセスログを眺めながら頭を抱える日々が続いていましたが、ふとあることに気づきました。
アクセスが増えると、どういうわけか3秒台のレスポンスと9秒台のレスポンスの割合が急増しているのです。3と9って、なんかだよく聞く数字だなあと冷静に考えてみると、これってTCPのSYNの再送間隔ではありませんか!
ということは、WebサーバはDBのロックを待っているわけじゃなくて、どっかのサーバとの接続に時間がかかっている可能性の方が高そうです。

DSAS開発者の部屋:高負荷サイトのボトルネックを見つけるには

デフォルトの罠か・・・

MySQLなどをチューニングする時なども、性能を上げるためにbacklogを値を増やすことは多いと思いますが、net.core.somaxconnの存在を忘れ去っていると、せっかく設定しても高負荷時のアクセスを処理しきれなくなってしまう可能性があります。特に今回のケースだと、平常時は何の問題もでていなかったのでさらに厄介です。
もし、高負荷時にのみ極端に性能が落ちるサーバがあれば、このあたりの設定を確認してみるとよいかもしれません。

DSAS開発者の部屋:高負荷サイトのボトルネックを見つけるには

screenshot