Help us understand the problem. What is going on with this article?

RDS Graviton2 インスタンスを試してみた(MySQL 編)

先に、こちらの記事で Amazon RDS の PostgreSQL 12.4-R1 を使って Graviton2 インスタンスと Intel x86_64 インスタンスを比較してみたところ、判断が難しい微妙な結果が出ました。

結果の概要は以下の通りです。

  • m6g.xlarge(Graviton2) vs m5.xlarge(Intel x86_64)
    • 4vCPU・メモリ 16GiB
  • 最初に試した「3 種類の主キーでひたすらINSERT対決」では「引き分け」
  • 追加で試したpgbenchでは m6g.xlarge に軍配が上がる
    • ただしインスタンスを m6g.4xlarge・m6.4xlarge(いずれも 16vCPU・メモリ 64GiB)に上げてpgbenchしてみたところ、SSD(汎用 IOPS)の書き込み IOPS の上限に突き当たって判断が難しい状況に
  • 先に MySQL 8.0.22 on EC2(gp3) でサーバローカルからmysqlslapを実行して試したときはvCPU 数が少ないうちは Graviton2 が高速だが、vCPU 数が多い環境で高い負荷を掛けるほど Intel x86_64 が高速という結果が出ていた

そこで今回、RDS MySQLを使って「追試」を行ってみました。

追試の内容

  • RDS MySQL 8.0.21 (m6g.4xlarge / m5.4xlarge・700GiB SSD) を使ってmysqlslapを実行
    • mysqlslapmixedで、スレッド数 150・300・450・600・750・900 で負荷を掛けて所要時間を比較
      • この範囲ならpgbenchとは違って 10,000 IOPS 以下の範囲で収まる
    • パラメータグループはデフォルト
    • バックアップを無効化してバイナリログを出力しないように
  • MySQL 8.0.22 on EC2 (m6g.4xlarge / m5.4xlarge・200GiB gp3 SSD 16,000IOPS) に対してもネットワーク越しにmysqlslapを実行してあらためて RDS と比較
    • CentOS 8.3
    • innodb_log_writer_threadsは有効(デフォルト)
    • バイナリログは ON / OFF の 2 通りで
mysqlslapの内容
mysqlslap --auto-generate-sql --auto-generate-sql-guid-primary --engine=innodb --number-int-cols=20 --number-char-cols=20 --concurrency=【スレッド数】 --auto-generate-sql-write-number=2000 --auto-generate-sql-execute-number=2000 --auto-generate-sql-load-type=mixed -u mysqluser -h 【RDSエンドポイントまたはEC2のIPアドレス】 -p

※MySQL on EC2 ではinnodb_dedicated_server=ONでバッファプールサイズ等を調整・max_connections=1000に設定

結果 1 : RDS MySQL 8.0.21

image.png

縦軸は所要時間(秒)。値が低いほど高速です。

RDS PostgreSQL の結果(書き込み IOPS の上限に突き当たる前)と同様、Graviton2 インスタンスのほうが高速という結果に。スレッド数を増やして負荷を上げるほど差が大きくなりました。

結果 2 : MySQL 8.0.22 on EC2

  • バイナリログ ON

image.png

  • バイナリログ OFF

image.png

RDS MySQL の結果とは逆に、バイナリログ ON / OFF とも Intel x86_64 インスタンスのほうが高速になりました。vCPU 数の多いインスタンスを使ってサーバローカルでmysqlslapを実行したときと同じですね。

まとめ

それぞれで真逆の結果が出ました。

汎用的な CentOS 8.3・MySQL Community Server 8.0.22 rpm パッケージと比べて、RDS 環境では Graviton2 向けに何らかのチューニング・最適化が行われているのかもしれません。


hmatsu47
名古屋で士業向けWebサービスのインフラ構築管理、たまにアプリケーション開発をやっています。 業務利用しているもの、個人研究など、気長にのんびり投稿していきます。ニッチ狙いが多めです。 IPA RISS(001158)・NW・DB/日商・大商2級コレクター?(簿記・ビジネス法務・ビジネス会計)。
https://hmatsu47.hatenablog.com/
infra-workshop
インフラ技術を勉強したい人たちのためのオンライン勉強会です
https://wp.infra-workshop.tech/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away