このトピックでは、MySQL 5.6を実行する汎用ApsaraDB RDSインスタンスのパフォーマンステストの結果について説明します。
本番環境をよりよくシミュレートするために、このストレステストにはReads/Writesメトリックが使用されます。
パフォーマンステストの結果は参考用です。 MySQL 5.6を実行するApsaraDB RDSインスタンスの使用方法の詳細については、「ApsaraDB RDS For MySQLインスタンスでの低速SQLステートメントのトラブルシューティング」をご参照ください。
環境
このストレステストでは、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インスタンスのテーブル数が異なります。 したがって、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 | 1,200 | 2,000 | 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 | 12,000 | 32 | 2177504 | 622144 |
16コアと64 GBのメモリ (rds.mysql.c2.xlarge) | 25000 | 128 | 16,000 | 14,000 | 64 | 4686654 | 1339044 |
タイプ2: ディスクI/Oベースのクエリのストレステスト
仕様 (インスタンスタイプ) | 単一テーブルのデータボリューム | テーブル数 | 最大接続数 | IOPS | SysBenchスレッドの数 | SysBench読み取りの数
| SysBenchの書き込み数
|
1コアと1 GBのメモリ (rds.mysql.t1.small) | 80,000 | 32 | 300 | 600 | 8 | 406238 | 116068 |
2コアと4 GBのメモリ (rds.mysql.s2.large) | 80,000 | 32 | 1,200 | 2,000 | 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 | 12,000 | 32 | 2119922 | 605692 |
16コアと64 GBのメモリ (rds.mysql.c2.xlarge) | 800000 | 128 | 16,000 | 14,000 | 64 | 4434220 | 1266920 |