すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:MySQL 8.0を実行するApsaraDB RDSインスタンスのテスト結果

最終更新日:Mar 19, 2024

このトピックでは、MySQL 8.0を実行する汎用ApsaraDB RDSインスタンスのパフォーマンステストの結果について説明します。

説明
  • 本番環境をよりよくシミュレートするために、このストレステストにはReads/Writesメトリックが使用されます。

  • パフォーマンステストの結果は参考用です。 MySQL 8.0を実行するApsaraDB RDSインスタンスの使用方法の詳細については、「ApsaraDB RDS For MySQLインスタンスでの低速SQLステートメントのトラブルシューティング」をご参照ください。

  • ビジネスシナリオによっては、MySQL 5.7を実行するApsaraDB RDSインスタンスのパフォーマンスが、MySQL 8.0を実行するApsaraDB RDSインスタンスのパフォーマンスよりも高い場合があります。

テスト環境

このストレステストでは、SysBenchを使用して、ローカルディスクを使用する5つのRDSインスタンスのパフォーマンスをテストします。 これらのRDSインスタンスは、異なるインスタンスタイプを使用します。

  • インスタンスタイプ: rds.mysql.t1.small、rds.mysql.s2.large、rds.mysql.m1.medium、rds.mysql.c1.xlarge、rds.mysql.c2.xlarge

  • インスタンスファミリー: 汎用

  • RDSエディション: RDS高可用性エディション

  • ストレージタイプ: ローカルディスク

設定

パフォーマンスは、データ量ストレステスト期間、およびパラメーター設定によって大きく影響されます。 このストレステストでは、次の設定を使用します。

  • データ量: テストするデータ量と各RDSインスタンスのテーブル数が異なります。 したがって、一部のRDSインスタンスのテスト結果は類似している可能性があります。

  • ストレステスト時間: すべてのRDSインスタンスのストレステスト時間は60秒です。

  • パラメータ設定:

    • sync_binlog=1およびinnodb_flush_log_at_trx_commit=1: 毎回送信されたデータがディスクに完全に書き込まれていることを確認します。

    • rpl_semi_sync_master_enabled=ON: RDSインスタンスの半同期モードを有効にして、プライマリRDSインスタンスとセカンダリRDSインスタンス間のデータの一貫性を確保します。

    • Performance_schema=ON: メモリサイズが8 GB以上のインスタンスタイプを使用するRDSインスタンスのパフォーマンススキーマを自動的に有効にします。

      説明

      これらのパラメーター設定は、ApsaraDB RDS for MySQLの標準パラメーターテンプレートに含まれています。 標準パラメーターテンプレートをすべてのRDSインスタンスに適用すると、データの一貫性が最大化され、テスト環境は本番環境に似ています。

テスト結果

2種類のクエリを使用してストレステストを実行できます。 データ量に基づいてストレステストの種類を判断できます。

  • キャッシュベースのクエリのストレステスト: このタイプのストレステストは、少量のデータを含むシナリオに適しています。 すべてのデータをInnoDBバッファプールに保存してアクセスできます。 InnoDBバッファプールのサイズを変更する方法の詳細については、「ApsaraDB RDS For MySQLインスタンスのInnoDBバッファプールのサイズの変更」をご参照ください。

  • ディスクI/Oベースのクエリのストレステスト: このタイプのストレステストは、大量のデータを含むシナリオに適しています。 最も頻繁に使用されるデータのみをInnoDBバッファプールに保存してアクセスできます。 ストレステスト中に、データはディスクから読み書きされ、InnoDBバッファプールが更新されます。

タイプ1: キャッシュベースのクエリのストレステスト

内存命中型

仕様 (インスタンスタイプ)

単一テーブルのデータボリューム

テーブル数

最大接続数

IOPS

SysBenchスレッドの数

SysBench読み取りの数

SysBenchの書き込み数

1 コア 1 GB

(rds.mysql.t1.small)

25,000

32

300

600

8

432,922

123,692

2 コア 4 GB

(rds.mysql.s2.large)

25,000

32

1,200

2,000

8

599,606

171,316

4 コア 16 GB

(rds.mysql.m1.medium)

25,000

128

4,000

7,000

16

1,567,132

447,752

8 コア 32 GB

(rds.mysql.c1.xlarge)

25,000

128

8,000

12,000

32

2,923,130

835,180

16 コア 64 GB

(rds.mysql.c2.xlarge)

25,000

128

16,000

14,000

64

5,661,264

1,617,504

タイプ2: ディスクI/Oベースのクエリのストレステスト

磁盘I/O型

仕様 (インスタンスタイプ)

単一テーブルのデータボリューム

テーブル数

最大接続数

IOPS

SysBenchスレッドの数

SysBench読み取りの数

SysBenchの書き込み数

1 コア 1 GB

(rds.mysql.t1.small)

80,000

32

300

600

8

374,584

107,024

2 コア 4 GB

(rds.mysql.s2.large)

80,000

32

1,200

2,000

8

439418

125548

4 コア 16 GB

(rds.mysql.m1.medium)

800,000

128

4,000

7,000

16

851,326

243,236

8 コア 32 GB

(rds.mysql.c1.xlarge)

800,000

128

8,000

12,000

32

2,384,256

681,216

16 コア 64 GB

(rds.mysql.c2.xlarge)

800,000

128

16,000

14,000

64

4,584,090

1,309,740