Slide 1

Slide 1 text

RDS で Graviton2 インスタンスを試してみた (+RDS / Aurora 関連アップデート) JAWS-UG 名古屋 コンテナと "re:Invent" の復習 2020/12/28 まつひさ(hmatsu47)

Slide 2

Slide 2 text

自己紹介 松久裕保(@hmatsu47) https://qiita.com/hmatsu47 名古屋で Web インフラのお守り係をしています MySQL 8.0 の薄い本を作って配っています ○ Qiita の記事: https://qiita.com/hmatsu47/items/ceb75caf46e3c761095d ○ GitHub リポジトリの他、印刷版を勉強会などで無料配布していました ○ 新型コロナウイルスの関係でオフライン勉強会ができなくなったので、 現在は BOOTH でも配布しています(100円+送料)8.0.22対応版配布中 https://booth.pm/ja/items/2524481 2

Slide 3

Slide 3 text

今日のテーマ(1 年ぶりの JAWS-UG 名古屋 LT 登壇です) ● re:Invent 2020 で発表・RDS / Aurora 関連 Update ○ …のうち、気になったもの ● RDS の Graviton2 インスタンスを試してみた ○ PostgreSQL 12.4-R1(M6g vs M5) ○ MySQL 8.0.21(同上+MySQL on EC2 との比較) 3

Slide 4

Slide 4 text

[1] RDS / Aurora 関連 Update(re:Invent 2020 発表) ● サーバーワークスのブログ記事でまとめられている ○ https://blog.serverworks.co.jp/reinvent2020-newupdate-aurora-rds ● 個人的に気になったのはこの 2 つ ○ Babelfish for Aurora PostgreSQL(プレビュー) ○ Aurora Serverless v2(プレビュー) ● その他、記事を探しても見つからなかった話として ○ Aurora MySQL 8.0(どこかで言及があった模様?) 4

Slide 5

Slide 5 text

[1-1] Babelfish for Aurora PostgreSQL ● SQL Server 互換レイヤを Aurora PostgreSQL に ○ T-SQL・通信プロトコルの提供(SQL Server 2014 互換) ○ https://www.publickey1.jp/blog/20/aurora_postgresqlsql_serverbabelfish_ for_aurora_postgresqlaws_reinvent_2021.html ● Babelfish for PostgreSQL は OSS としても提供 ○ Apache License, Version 2.0 ○ https://babelfish-for-postgresql.github.io/babelfish-for-postgresql/ 5

Slide 6

Slide 6 text

[1-2] Aurora Serverless v2 ● スケールが速くなった Aurora Serverless ○ インスタンス入れ替え方式のスケーリングをやめた ○ やっと開発環境だけでなくプロダクト環境に使えるように…? ● 機能面でも本家 Aurora に近づいた ○ 複数 AZ・Global Database・リードレプリカ・backtrack etc. https://dev.classmethod.jp/articles/reinvent-2020-new-launch-aurora-serverless-v2/ 6

Slide 7

Slide 7 text

[2] RDS の Graviton2 インスタンスを試してみた ● 今秋(10 月頃?)GA になった模様 ○ M6g・R6g ○ MySQL は 8.0 のみ対応 ○ Aurora はプレビュー ● 性能比較をしてみた ○ PostgreSQL 12.4-R1(M6g vs M5) ○ MySQL 8.0.21(同上+MySQL on EC2 との比較) 7

Slide 8

Slide 8 text

[2-1] 性能比較をしてみた(RDS M6g vs M5 / Single-AZ) ● PostgreSQL 12.4-R1 で比較 ○ ひたすら INSERT(xlarge 4vCPU・メモリ 16GiB) ○ pgbench(同上+4xlarge 16vCPU・メモリ 64GiB) ● MySQL 8.0.21 で比較 ○ mysqlslap(4xlarge) ○ MySQL 8.0.22 on EC2 の mysqlslap と比較 8

Slide 9

Slide 9 text

https://qiita.com/hmatsu47/items/139640aea998f6602b6e →結果は「引き分け」(詳細は↑のリンク先を参照) [2-1] 性能比較をしてみた(結果 1 : ひたすら INSERT) 9

Slide 10

Slide 10 text

https://qiita.com/hmatsu47/items/139640aea998f6602b6e (12/26 追記分) →M6g 優勢(4xlarge の 40 スレッド以上→ IOPS 上限に当たる) [2-1] 性能比較をしてみた(結果 2 : pgbench) 10

Slide 11

Slide 11 text

[2-1] 性能比較をしてみた(結果 3 / 4 : mysqlslap / EC2) https://qiita.com/hmatsu47/items/bbe1034b078435c31d00 →RDS は M6g 優勢、EC2 は M5 優勢(結果が逆転) 11

Slide 12

Slide 12 text

[2-1] 性能比較をしてみた(Graviton2 vs Intel x86_64) ● 少なくとも 16vCPU あたりまでは Graviton2 が優勢 ○ 事前に↓で確認した範囲では、MySQL on EC2(CentOS 8.3)の 環境で 2 vCPU なら Graviton2 優勢、8vCPU 超のあたりから Intel x86_64 が優勢になっていた https://qiita.com/hmatsu47/items/e20c4d69b0af465b0b12 ● RDS では Graviton2 向けに最適化されている? ○ 逆に Intel x86_64 は on EC2 比で遅くなっている? 12

Slide 13

Slide 13 text

[2-2] おまけ ● RDS では Graviton2 ⇔ Intel x86_64 の変更が可能 13

Slide 14

Slide 14 text

おしまい 来年も良い DB ライフを! 14