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

MeltdownとかSpectreとか騒ぎがあったので、Amazon Aurora(MySQL互換)R4インスタンス再テスト(mysqlslap)

More than 1 year has passed since last update.

2018/01/13追記:
「AWSが再度パッチを当てたみたい」という情報があったので、3度目のベンチマークを行ったところ、db.r4.largeおよびdb.r4.xlargeについて、2017/10/末頃とほぼ同じ速度に戻ったことを確認しました。


(以下、古い情報なので現在とは状況が異なります。)

以前、R4インスタンスが使えるようになったときにmysqlslapで性能テストをしたので、今回、同じ条件で再度R4インスタンスだけmysqlslapしてみました。

mysqlslapの内容

前回と同じです。

mysqlslap
$ mysqlslap --auto-generate-sql --auto-generate-sql-guid-primary --engine=innodb --number-int-cols=20 --number-char-cols=20 --concurrency=150 --auto-generate-sql-write-number=2000 --auto-generate-sql-execute-number=2000 --auto-generate-sql-load-type=mixed -u 【ユーザ名】 -h 【クラスタエンドポイント】 -p

結果

結構、衝撃的です…。
なお、暗号化の有無での性能差はわずかしかありませんでしたので、今回は暗号化ありの結果のみ掲示しておきます。
また、参考として、今回はdb.r4.2xlargeインスタンスの結果も加えておきます。

実施時期 db.r4.large・バイナリログなし db.r4.large・バイナリログあり db.r4.xlarge・バイナリログなし db.r4.xlarge・バイナリログあり db.r4.2xlarge・バイナリログなし db.r4.2xlarge・バイナリログあり
前回(2017/10/末・Ver.1.15) 48.860 57.737 33.133 37.857 - -
今回(2018/01/上・Ver.1.16) 74.779 91.679 45.433 54.413 34.180 39.621
性能比 65.3% 63.0% 72.9% 69.6% - -

※単位は秒。すべて暗号化ありの結果。

ちょうどインスタンスタイプ1段階分ぐらい遅くなっています。
もしかして前回インスタンスタイプの指定を1段階間違えたか?と思って請求情報を見たら、間違っていませんでした。
aurora_cost.png

もちろん、クライアント側に問題がないか確認するためにクライアント側のEC2インスタンスもタイプを色々変えて試しましたが、結果は誤差の範囲でした(AZも一致していることを確認)。

ただ、実際のワークロードはmysqlslapとは違うので、プロダクト環境でどうなるかは実際の環境で確認・検証してください

※明日から私もプロダクト環境と同等のステージング環境で性能テストです…つらいことになる予感。

追記:
参考までに記しておくと、db.r4.large・バイナリログありの今回(2018/01/上)分がピーク時CPU使用率90~100%程度、でした。
より大きなインスタンスタイプに対しても同じ負荷を掛けて計測しているため、(ディスク/ネットワークI/O側がネックにならないと仮定すれば)インスタンスタイプが大きいほど性能低下の程度が小さい、という結果が出るのは当然といえます(db.r4.xlarge以上に対しては100%の負荷を掛けていないので)。


hmatsu47
名古屋で士業向けWebサービスのインフラ構築管理、たまにアプリケーション開発をやっています。 業務利用しているもの、個人研究など、気長にのんびり投稿していきます。ニッチ狙いが多めです。 IPA RISS(001158)・NW・DB/日商・大商2級コレクター?(簿記・ビジネス法務・ビジネス会計)。 https://hmatsu47.qrunch.io/
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