3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

先に、こちらの記事で 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 向けに何らかのチューニング・最適化が行われているのかもしれません。


3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?