このページでは、汎用インスタンスファミリーとローカルディスクを使用する ApsaraDB RDS for MySQL 5.6 インスタンスの Sysbench ベンチマーク結果を示します。これらの数値を、ワークロードに適したインスタンスのサイジングを行う際のリファレンスとしてご活用ください。
すべての結果は、本番環境レベルの負荷をシミュレートするための 20 分間のストレステストに基づいています。結果はリファレンス用です。実行中のインスタンスのスロークエリの解決については、「ApsaraDB RDS for MySQL インスタンスのスロー SQL のトラブルシューティング」をご参照ください。
テスト環境
Sysbench を使用して、ローカルディスクストレージを備えた RDS High-availability Edition を実行する 5 つのインスタンスタイプに対してストレステストを実施しました。
| 属性 | 値 |
|---|---|
| インスタンスファミリー | 汎用 |
| RDS エディション | High-availability Edition |
| ストレージタイプ | ローカルディスク |
| テスト対象のインスタンスタイプ | rds.mysql.s1.small、rds.mysql.s2.large、rds.mysql.m1.medium、rds.mysql.c1.xlarge、rds.mysql.c2.xlarge |
テストパラメーター
パフォーマンスの結果は、データ量、テスト時間、パラメーター設定に影響されます。すべてのテストで以下の構成が使用されました。
テスト時間:インスタンスあたり 20 分。
MySQL パラメーター設定:
| パラメーター | 値 | 影響 |
|---|---|---|
sync_binlog | 1 | コミットごとにバイナリログをディスクにフラッシュします |
innodb_flush_log_at_trx_commit | 1 | トランザクションコミットごとに InnoDB ログを書き込み、フラッシュします |
rpl_semi_sync_master_enabled | ON | 準同期レプリケーションを有効にして、プライマリインスタンスとセカンダリインスタンス間のデータ整合性を確保します |
Performance_schema | OFF | 64 GB 以上のメモリを持つインスタンスでは自動的に有効になります |
これらのパラメーターは、ApsaraDB RDS for MySQL の標準パラメーターテンプレートと一致しており、データ整合性を最大化し、テスト環境を本番環境の条件に近づけます。
テスト結果
2 つのテストシナリオは、最も一般的な本番環境のワークロードパターンをカバーしています。ご利用のデータ量に合ったシナリオを選択してください。
キャッシュベースのクエリ
このシナリオでは、データセット全体が InnoDB バッファープールに収まるため、クエリはディスク読み取りなしでメモリから処理されます。このシナリオは、小規模なデータセットに適用されます。
InnoDB バッファープールのサイズを変更する方法については、「ApsaraDB RDS for MySQL インスタンスの InnoDB バッファープールのサイズを変更する」をご参照ください。

| インスタンスタイプ | テーブルあたりのデータ量 | テーブル | 最大接続数 | IOPS | Sysbench スレッド数 | QPS | TPS |
|---|---|---|---|---|---|---|---|
| 1 コア、2 GB (rds.mysql.s1.small) | 3,000,000 | 1 | 600 | 1,000 | 16 | 12,761 | 638 |
| 2 コア、4 GB (rds.mysql.s2.large) | 3,000,000 | 2 | 1,200 | 2,000 | 16 | 27,521 | 1,306 |
| 4 コア、16 GB (rds.mysql.m1.medium) | 6,000,000 | 4 | 4,000 | 7,000 | 32 | 59,185 | 2,959 |
| 8 コア、32 GB (rds.mysql.c1.xlarge) | 6,000,000 | 8 | 8,000 | 12,000 | 32 | 91,941 | 4,597 |
| 16 コア、64 GB (rds.mysql.c2.xlarge) | 6,000,000 | 16 | 16,000 | 14,000 | 64 | 129,953 | 6,498 |
ディスク I/O ベースのクエリ
このシナリオでは、最も頻繁にアクセスされるデータのみが InnoDB バッファープールに収まります。クエリにはディスクの読み取りと書き込みが必要であり、バッファープールは継続的に更新されます。このシナリオは、大規模なデータセットに適用されます。

| インスタンスタイプ | テーブルあたりのデータ量 | テーブル | 最大接続数 | IOPS | Sysbench スレッド数 | QPS | TPS |
|---|---|---|---|---|---|---|---|
| 1 コア、2 GB (rds.mysql.s1.small) | 16,000,000 | 1 | 600 | 1,000 | 16 | 1,087 | 54 |
| 2 コア、4 GB (rds.mysql.s2.large) | 16,000,000 | 2 | 1,200 | 2,000 | 16 | 2,382 | 119 |
| 4 コア、16 GB (rds.mysql.m1.medium) | 32,000,000 | 4 | 4,000 | 7,000 | 32 | 8,814 | 441 |
| 8 コア、32 GB (rds.mysql.c1.xlarge) | 32,000,000 | 8 | 8,000 | 12,000 | 32 | 15,195 | 760 |
| 16 コア、64 GB (rds.mysql.c2.xlarge) | 32,000,000 | 16 | 16,000 | 14,000 | 32 | 17,764 | 888 |