このトピックでは、MySQL 5.6 を実行する汎用 ApsaraDB RDS インスタンスのパフォーマンステスト結果について説明します。
本番環境をより適切にシミュレートするために、このストレステストでは読み取り/書き込みメトリックが使用されます。
パフォーマンステストの結果は参考値です。 MySQL 5.6 を実行する ApsaraDB RDS インスタンスの使用方法の詳細については、「ApsaraDB RDS for MySQL インスタンスで遅い SQL 文のトラブルシューティングを行う」をご参照ください。
環境
このストレステストでは、SysBench を使用して、プレミアムローカル SSD を使用する 5 つの RDS インスタンスのパフォーマンスをテストします。 これらの RDS インスタンスは、異なるインスタンスタイプを使用します。
インスタンスタイプ: rds.mysql.t1.small、rds.mysql.s2.large、rds.mysql.m1.medium、rds.mysql.c1.xlarge、および rds.mysql.c2.xlarge
インスタンスファミリー: 汎用
エディション: RDS 高可用性エディション
ストレージタイプ: プレミアムローカル SSD
構成
パフォーマンスは、データ量、ストレステスト期間、および パラメーター設定の影響を大きく受けます。 このストレステストでは、次の構成が使用されます。
データ量: テスト対象の各 RDS インスタンスのデータ量とテーブル数は異なります。 そのため、5 つの 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) | 25000 | 32 | 300 | 600 | 8 | 450394 | 128684 |
2 コア、4 GB メモリ (rds.mysql.s2.large) | 25000 | 32 | 1200 | 2000 | 8 | 1045100 | 298598 |
4 コア、16 GB メモリ (rds.mysql.m1.medium) | 25000 | 128 | 4000 | 7000 | 16 | 1063846 | 303956 |
8 コア、32 GB メモリ (rds.mysql.c1.xlarge) | 25000 | 128 | 8000 | 12000 | 32 | 2177504 | 622144 |
16 コア、64 GB メモリ (rds.mysql.c2.xlarge) | 25000 | 128 | 16000 | 14000 | 64 | 4686654 | 1339044 |
タイプ 2: ディスク I/O ベースのクエリのストレステスト

仕様 (インスタンスタイプ) | 単一テーブルのデータ量 | テーブル数 | 最大接続数 | IOPS | SysBench スレッド数 | SysBench 読み取り数
| SysBench 書き込み数
|
1 コア、1 GB メモリ (rds.mysql.t1.small) | 80000 | 32 | 300 | 600 | 8 | 406238 | 116068 |
2 コア、4 GB メモリ (rds.mysql.s2.large) | 80000 | 32 | 1200 | 2000 | 8 | 1013614 | 289604 |
4 コア、16 GB メモリ (rds.mysql.m1.medium) | 800000 | 128 | 4000 | 7000 | 16 | 1040154 | 295768 |
8 コア、32 GB メモリ (rds.mysql.c1.xlarge) | 800000 | 128 | 8000 | 12000 | 32 | 2119922 | 605692 |
16 コア、64 GB メモリ (rds.mysql.c2.xlarge) | 800000 | 128 | 16000 | 14000 | 64 | 4434220 | 1266920 |