MySQL Database Serviceのパフォーマンス調査(多重処理の性能比較)

技術者が語るOracle Cloud

Oracle Cloud Infrastructure でマネージドサービスとして利用可能なOracle MySQL Database Service(MDS)について、mysqlslapやバックアップなどの性能について調査しました。
今回はMDSのシェイプによる多重処理の性能比較の検証結果をご説明します。

  • プロビジョニング、パッチ適用、アップグレード、バックアップが自動化
  • 最適化されたMySQLの設定がデフォルトで利用可能
  • MySQL 8.0 Enterprise Editionをベースに構築し、オンプレミスのMySQLと完全な互換性を保有
  • MySQLチームによる管理とサポート

1. 検証構成

検証構成は下図の通りです。

oc12_1.png

Computeインスタンス
シェイプ VM.Standard.E2.1
OSイメージ Oracle-Linux-7.8-2020.09.23-0
ボリュームサイズ 47GB
OCPU数 1OCPU
メモリー 8GB
  • MDSはプライベートのIPアドレスしか持てません。このため、exe_mysql_dbcs01と接続するためのインスタンスをパブリックインスタンス上に構築しています。
    これはOCI上で展開するMySQL Databaseサービスの基本構成となります。
  • 今回の検証で使用するMDSの構成上、Oracle上で用意されているデフォルトの構成で検証を実施しています。

2. シェイプによる多重処理の性能比較

異なるシェイプのMDSに対してMySQLの負荷エミュレーションツール「mysqlslap」をセッション数50,100,200で実行し、クエリ平均実行時間を計測しました。

MDSスペック

シェイプ CPU メモリ ディスクサイズ
VM.Standard.E3.1 1OCPU 16GB 500GB
VM.Standard.E3.2 2OCPU 32GB 500GB
VM.Standard.E3.4 4OCPU 64GB 500GB

mysqlslap

mysqlslap 
 --user=root 
 --host=<ip address> 
 --auto-generate-sql
 --auto-generate-sql-guid-primary
 --engine=innodb
 –-number-int-cols=5
 –-number-char-cols=5
 --protocol=tcp
 --concurrency=50 or 100 or 200
 --auto-generate-sql-write-number=100000
 --auto-generate-sql-execute-number=1000
 --iterations=1
 --auto-generate-sql-load-type=mixed
 -p

結果

oc12_2.png

次回は、MDSのディスクサイズによる性能比較についてご紹介します。