ニフクラ ブログ

ニフクラやクラウドの技術について、エンジニアが語るブログです。

RDB新タイプ「MySQL 5.7」の性能を計測

こんにちは。ニフティクラウドテクニカルアカウントエンジニアチームです。

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

logo-mysql-170x115

検証環境構成

クライアント環境
クライアント
ゾーンeast-21
OSCentOS 6.7
サーバータイプwlarge32
ツール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へのアクセスのみ計測しているため、参照系のアクセスを待機系サーバーへ振り分けることでより多く処理が可能となります。また、チューニングするとさらに性能の向上も期待できます。

ニフティクラウドRDBをご利用になる機会がありましたら、ぜひMySQL 5.7もお試しいただければと思います。

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