CLOUD NAVIクラウドとは?からクラウドを支える技術や関連用語まで解説

FJcloud実践

RDBのバージョン「MySQL 5.7」の性能を検証

0000年00月00日
RDBのバージョン「MySQL 5.7」の性能を検証

この記事は、ニフクラブログで2016-11-24に公開された記事を移転したものです。

こんにちは。FJcloud-V(旧ニフクラ)テクニカルアカウントエンジニアチームです。

2016年11月21日にFJcloud-V(旧ニフクラ)RDBにて、MySQLの新バージョン「MySQL 5.7」がリリースされました。 今回はすでに提供中の「MySQL 5.6」の最新バージョンと新たにリリースした「MySQL 5.7」にて性能比較を実施し、その結果をご紹介します。

logo-mysql-170x115

検証環境構成

クライアント環境
クライアント
ゾーン east-21
OS CentOS 6.7
ツール sysbench
サーバー環境
サーバー(RDB)
ゾーンeast-21
バージョンMySQL 5.7
サーバータイプdb.small4
db.medium8
db.wlarge32
ディスクサイズ50GB(HDD)
サーバー(RDB)
※比較対象
ゾーンeast-21
バージョンMySQL 5.6
サーバータイプdb.small4
db.medium8
db.wlarge32
ディスクサイズ50GB(HDD)

検証内容

  • 検証1:シングル構成でのsysbench取得
  • 検証2:冗長化構成(データ優先)でのsysbench取得
  • 検証3:冗長化構成(性能優先)でのsysbench取得

以下のシェルを作成し、それぞれの環境で実行し、3分間の総処理数の比較を実施します。

sysbench_test.sh

HOST=$1
OLTP_PARAMS="--test=oltp --oltp-table-size=40000000 --db-driver=mysql" 
MYSQL_PARAMS="--mysql-user=mydbuser --mysql-password=mydbpassword --mysql-host=$HOST" 
sysbench $OLTP_PARAMS $MYSQL_PARAMS prepare
sysbench $OLTP_PARAMS $MYSQL_PARAMS --num-threads=16 --max-requests=0 --max-time=180 --init-rng=on --oltp-dist-type=uniform run 2>&1
sysbench $OLTP_PARAMS $MYSQL_PARAMS cleanup

※それぞれキャッシュを使わないよう、一回一回の処理でcleanupを実施しています。

検証結果

検証1:シングル構成でのsysbench取得

結果

検証2:冗長化構成(データ優先)でのsysbench取得

結果

検証3:冗長化構成(性能優先)でのsysbench取得

結果

まとめ

結果は以下の通りでした。

  • シングル構成と冗長化構成(性能優先)では、MySQL 5.6と比較して、MySQL 5.7は約10%~20%性能が向上
  • 冗長化構成(データ優先)においても、MySQL 5.6と比較してMySQL 5.7は約10%性能が向上

※今回の結果ではdb.small4のみ、MySQL 5.6と比較して劣っていますが、低いスペックということもあり、ほとんど差はなく誤差程度の違いとなっています。

※複数回実行した際の平均値を表示していますが、多少のばらつきがあったため、継続すると結果に違いが出てくるかもしれません。

今回の検証では、デフォルトのパラメーターのまま、同一のクライアントから、同様の試験方法にて実施しました。

冗長化構成(性能優先)では、マスターDBへのアクセスのみ計測しているため、参照系のアクセスを待機系サーバーへ振り分けることでより多く処理が可能となります。また、チューニングするとさらに性能の向上も期待できます。

FJcloud-V(旧ニフクラ)RDBをご利用になる機会がありましたら、ぜひMySQL 5.7もお試しいただければと思います。

【注意事項】
本検証は弊社にて行った数値となります。アプリやパラメーターにより処理性能は異なりますので、性能の検証を実施いただくことをおすすめいたします。

PageTop