Upload
junya-shimazu
View
112
Download
4
Embed Size (px)
Citation preview
運用でやってきたこと• 新機能、イベント追加作成 • カスタマーサポート対応 • システムリファクタリング • ユーザー動向の分析 • パフォーマンスチューニング • 障害対策・対応 ← 今日のお話 • etc…
DDOS 3%
ハードウェアレベルのトラブル 3%
ミドルウェアレベルのトラブル 3%
APIトラブル 14%
DBトラブル 78%
ほとんどDBまわりのトラブル …ということで、本日はDBに着目したお話です
3. スケーラブルな設計
master slave
master slave
UserDB-1(user_id % 2 = 0のユーザーデータ)
CommonDB
master slave
UserDB-2(user_id % 2 = 1のユーザーデータ)
水平分割 (sharding)
原因が特定できたら(根本的対策)
case1. プログラム(クエリ)をその場で修正
case2. テーブルのインデックス最適化 (要メンテナンス、件数によっては時間がかかるので注意)
case3. サーバーの増設・増強 (データセンターだと難しいが、クラウドなら)
原因が特定できたら(暫定的対策)
case1. 問題箇所の機能だけ停止してサービス再開
case2. 一部ユーザーをアクセス制限して負荷軽減
case3. そのまま様子見で収束を待つ (ピーク終了が見込めるとき)
…以上の対策をしたのちに根本的対策を行う。