SlideShare a Scribd company logo
1 of 31
Download to read offline
RDS!スケールアップ前の
アプリチューニング
(ざっくり版)
2013年8月31日
朝永 将
tomonaga (at) birdsong.jp
自己紹介
• LAMP一筋13年
• 2010年∼ 株式会社NEO COSMIC
- ビジュアルノベルアプリ『牡丹の庭』他、11タイトルの開発
• 2013年∼ フリーランス
- ソーシャルアプリ開発
- 講師・ITアドバイザー
• 小鳥好き
- Facebook: masaru.tomonaga
こんな運用してませんか?
★ 「DB重いなぁ。。」
• 「取り急ぎスペックあげておきますか∼」
•
(以降、何度か繰り返し)
★ 「いやー、やっぱDB厳しいなぁ。。」
• 「これ以上スペック上げられません!」
★ 「」
('A`)ヴァー
突然の死!
フロント(Webサーバ)は
スケールしやすいが、
DBは・・・!?
Webサーバ(EC2 etc...)
• スケールアウト・スケールアップして力
技で捌く
DBサーバ(RDS)
• データの整合性を考慮すると、単純にRDSを
追加するだけでは対応できない。
• Webよりスケールアウトの難易度が高
い。
• スケールアップするにも限界がある。
(4xlargeとか)
アプリ側を
改修しないと・・・
• とりあえず勘で直してみる
• 工数足りません!
• 予算ありません!
• 実装で担当者しか改修できません!
(※担当者逃亡中)
だめです!
Amazonさんに
問い合わせる
AWSではアプリ改修
してくれません!
(ヒントは頂けるかもしれないけど…)
ググる。
[RDS 重い どうにか]
神頼み!
がんばって、どうに
かしてください。
(棒読み)
まじめな話
どうすれば良い?
技術的なところ(1)
• slowlogを出さない
• Explainで確認→クエリ最適化
• テーブルパーティショニング
• 1億レコード以上のテーブルを作らない
設計(メンテも手間!)
技術的なところ(2)
• ランニングコストが掛かりますが…
• KVSへ一部移行(ElastiCacheなど)
• リードレプリカの活用
• 水平分割(一定のレンジごとにサーバ
を分ける)
マネージメント的なところ(1)
• 対・エンジニア向け
• 少なくともslowlogは出させない!
• とりあえず動けば良い→技術的負債
• 実装担当者のマインドを育成(プロダ
クトに対する責任)
マネージメント的なところ(2)
• 対・上長、役員向け
• クラウドだから簡単に拡張できるんでしょ?
• DB高負荷時のリスク説明(図表を書いて!)
• 予算要求は松竹梅方式で
• 定期的に負荷データを収集・共有する
大事な事なので2度言
います
slowlogを出さない
出したままスケール
してもメリットを活
かせない
技術的負債
体感的には年利40%
出資法違反ですね!
金利だけ返している
状態になり得る
slowlog ダメ、ゼッタイ。
今日はありがとうご
ざいました!

More Related Content

What's hot

Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるNode.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Yuusuke Takeuchi
 
Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発
Drecom Co., Ltd.
 
SQLドリルの話(仮)
SQLドリルの話(仮)SQLドリルの話(仮)
SQLドリルの話(仮)
Yuuki Tan-nai
 

What's hot (17)

mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipmmod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm
 
ふくてん#2 Powershellとossで作るお手軽モニタリング環境
ふくてん#2 Powershellとossで作るお手軽モニタリング環境ふくてん#2 Powershellとossで作るお手軽モニタリング環境
ふくてん#2 Powershellとossで作るお手軽モニタリング環境
 
エディタ遍歴2014 #hachiojipm
エディタ遍歴2014 #hachiojipmエディタ遍歴2014 #hachiojipm
エディタ遍歴2014 #hachiojipm
 
けちけちで(すみません)Azure IaaS
けちけちで(すみません)Azure IaaSけちけちで(すみません)Azure IaaS
けちけちで(すみません)Azure IaaS
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話
 
もちょブログ解析入門
もちょブログ解析入門もちょブログ解析入門
もちょブログ解析入門
 
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
 
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるNode.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
 
Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発
 
超簡単になった EC-CUBE3 のインストール
超簡単になった EC-CUBE3 のインストール超簡単になった EC-CUBE3 のインストール
超簡単になった EC-CUBE3 のインストール
 
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーDeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
 
20160727 jaws ug-kobe_short_speak_alexa
20160727 jaws ug-kobe_short_speak_alexa20160727 jaws ug-kobe_short_speak_alexa
20160727 jaws ug-kobe_short_speak_alexa
 
ログレスの戦闘から見るデータ同期について
ログレスの戦闘から見るデータ同期についてログレスの戦闘から見るデータ同期について
ログレスの戦闘から見るデータ同期について
 
Neo4j Profile Export/Import Tool
Neo4j Profile Export/Import ToolNeo4j Profile Export/Import Tool
Neo4j Profile Export/Import Tool
 
NoNoSQL
NoNoSQLNoNoSQL
NoNoSQL
 
SQLドリルの話(仮)
SQLドリルの話(仮)SQLドリルの話(仮)
SQLドリルの話(仮)
 

Similar to RDS!スケールアップ前のアプリチューニング(ざっくり版) (10)

20170117 jpoug spm公開版
20170117 jpoug spm公開版20170117 jpoug spm公開版
20170117 jpoug spm公開版
 
DDDハンズオン
DDDハンズオンDDDハンズオン
DDDハンズオン
 
パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)パネルディスカッション資料(公開版)
パネルディスカッション資料(公開版)
 
B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows AzureB 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
 
AWSerにも知ってほしいDBの話
AWSerにも知ってほしいDBの話AWSerにも知ってほしいDBの話
AWSerにも知ってほしいDBの話
 
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
 
D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?
 
Amazon ec2とは何か?
Amazon ec2とは何か?Amazon ec2とは何か?
Amazon ec2とは何か?
 

Recently uploaded

Recently uploaded (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

RDS!スケールアップ前のアプリチューニング(ざっくり版)