RDSのレプリカが便利過ぎて涙が出た話
by
21ma
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
1 / 13 RDSのレプリカが便利過ぎて涙が出た話 [ 京都] テクテクテック #7 DB勉強会(新機能や運営でのあれこれ) 2019/1/16 LT発表 @21ma
Slide 2
Slide 2 text
2 / 13 自己紹介 西村匡司(@21ma) 株式会社スプーキーズ 創業メンバー 経理兼総務兼ソフトウェアエンジニア テクテクテック運営者
Slide 3
Slide 3 text
3 / 13 キャンペーンサイトを構築することになった 年末年始向けのとあるキャンペーンサイト ユーザ投稿による画像生成有り
Slide 4
Slide 4 text
4 / 13 アーキテクチャ Nginx( 1.12) FuelPHP( PHP7.2) Flask( Python3.6) pillow: 画像生成 MySQL( 5.6.40) テーブル数: 6
Slide 5
Slide 5 text
5 / 13 サーバ構成(AWS) EC2 RDS MySQL Elasticache memcached S3
Slide 6
Slide 6 text
6 / 13 求められる性能 500req/s
Slide 7
Slide 7 text
7 / 13 本番直前の負荷対策中 「RDS のCPU が100% で張り付いて、スケールアウトしないです」 な、なんだって!! たかだか1テーブルの参照にそんなにかかるのか?! 必要ないと思ってたけど、スレーブ構成を検討。
Slide 8
Slide 8 text
8 / 13 今までやってたスレーブ構成準備 1. スレーブ用mysqlサーバ準備 2. my.cnfでレプリケーション設定(server‑id, log‑bin, relay‑log等設定) 3. mysql再起動 4. master statusでPositionを記録 5. dumpデータ作成 6. スレーブにdumpデータインポート 7. スレーブにPositionを設定 8. スレーブ開始 あーめんどくさい
Slide 9
Slide 9 text
9 / 13 RDSのレプリカ機能 これ押してちょっと設定するだけ。設定10秒。インスタンス作成5分くらい インスタンス作成がもう少し早ければなー・・
Slide 10
Slide 10 text
10 / 13 2つ目も3つ目も簡単 同じ操作を繰り返すだけ。
Slide 11
Slide 11 text
11 / 13 消すときも、ボタン一つ。
Slide 12
Slide 12 text
12 / 13 お陰様で 500req/s 達成 わーい!! (他にも、S3画像転送速度、memcachedエラー等いろいろありましたが・・。それはま たー別のお話。)
Slide 13
Slide 13 text
13 / 13 まとめ 便利そうだなーとは思っていたけど、本番反映直前の時間が無いときにこの簡易さは神だ った。 EC2借りてその中にMySQL手動でインストールなんてしないでRDSですよー。 (高いけど) 今年はAWS使いこなすぞー!