http://ke-tai.org/blog/2011/01/28/snsgamesslidematome/
ここのスライドの内容から負荷対策に関して少しまとめてみた。
LAMP環境を想定
+memcachedとか
・DBへの接続切断は明示的に行う
・更新系、参照系でDBを分ける
但し、レプリケーション遅延なんて発生して当たり前。重要な参照は結局更新系から取得。
・KVSを利用する(ログイン時間管理とか結構どうでもいいような情報の負荷が糞高かったりするのに丁度いいらしい)
・キャッシュサーバーを効率的に利用する(使える所は使いまくれ。特に時間のかかるAPIのレスポンスなんか最適)
・Apache,MySQLのチューニングは必須(とにかくボトルネックとなりうる所は全てカリカリにするのだ)
・必ず負荷テスト及び過負荷テストを行う(公開3ヶ月後のユーザーデータを予測してDBに突っ込んでみる。もち本番環境で)
・ツールは大事。テストするにも監視するにも開発するにも。
・会員数数万程度を見越して作ったPGはNG
・スロースタートなんてありえない。最初から全力。でなきゃ、ずっと上には上がらない。
・WebサーバーやスレーブDBサーバーの複数台構成は当たり前。
・マスターDBの分散は難しいよねー。出来ない事無いけどとりあえずはスペックアップで耐える。...