RDSのレプリカが便利過ぎて涙が出た話
by
21ma
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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使いこなすぞー!