本文介紹RDS MySQL 8.0通用型執行個體的效能測試結果。
為了更接近生產環境,本次壓測取60秒的讀寫次數總量(Reads/Writes)作為測試單位。
以下效能測試結果僅供參考。為了協助您更好地瞭解和使用RDS MySQL 8.0版本執行個體,請參見效能最佳化與診斷。
根據業務情境的不同,RDS MySQL 8.0的測試結果可能會低於RDS MySQL 5.7,屬於正常現象。
測試環境
本次壓測採用業界標準的SysBench,分別對RDS MySQL的5個高效能本地碟規格進行效能測試。
執行個體規格:rds.mysql.t1.small、rds.mysql.s2.large、rds.mysql.m1.medium、rds.mysql.c1.xlarge、rds.mysql.c2.xlarge
執行個體規格類型系列:通用型
執行個體系列:高可用系列
執行個體儲存類型:高效能本地碟
測試限制
由於資料量、壓測時間長度、參數配置會大幅影響效能資料,本測試做如下限制:
資料量:對不同執行個體規格配置不同的表個數和表資料量。部分規格看似測試結果相近,其實是整體資料量不同。
壓測時間長度:由於不同壓測時間長度對測試結果影響較大,因此本次壓測時間長度統一為60秒。
參數配置:
sync_binlog=1、innodb_flush_log_at_trx_commit=1:確保每次提交的資料完整寫入磁碟中。rpl_semi_sync_master_enabled=ON:開啟資料庫半同步模式,保證主備庫資料的一致性。Performance_schema=ON:記憶體大於等於8 GB的執行個體規格預設開啟Performance Schema。說明上述參數為RDS MySQL標準參數模板,統一參數模板可在最大程度上保證資料一致性,同時更加接近生產環境。
測試結果
本次壓測分兩個情境進行,您可以根據自身資料量判斷使用哪種情境。
記憶體命中型:適用於資料量較小的情境,可將資料全量放入Buffer Pool進行存取。如何更改Buffer Pool大小,請參見調整執行個體Buffer Pool大小。
磁碟I/O型:適用於資料量大的情境,只將最常訪問的資料放入Buffer Pool進行存取,壓測時會讀寫磁碟以及更新Buffer Pool。
情境一:記憶體命中型

規格 | 單表資料量 | 表數量 | 最大串連數 | IOPS | Sysbench線程數 | Sysbench讀取 (單位:次) | SysBench寫入 (單位:次) |
1核1 GB (rds.mysql.t1.small) | 25000 | 32 | 300 | 600 | 8 | 432922 | 123692 |
2核4 GB (rds.mysql.s2.large) | 25000 | 32 | 1200 | 2000 | 8 | 599606 | 171316 |
4核16 GB (rds.mysql.m1.medium) | 25000 | 128 | 4000 | 7000 | 16 | 1567132 | 447752 |
8核32 GB (rds.mysql.c1.xlarge) | 25000 | 128 | 8000 | 12000 | 32 | 2923130 | 835180 |
16核64 GB (rds.mysql.c2.xlarge) | 25000 | 128 | 16000 | 14000 | 64 | 5661264 | 1617504 |
情境二:磁碟I/O型

規格 | 單表資料量 | 表數量 | 最大串連數 | IOPS | Sysbench線程數 | Sysbench讀取 (單位:次) | SysBench寫入 (單位:次) |
1核1 GB (rds.mysql.t1.small) | 80000 | 32 | 300 | 600 | 8 | 374584 | 107024 |
2核4 GB (rds.mysql.s2.large) | 80000 | 32 | 1200 | 2000 | 8 | 439418 | 125548 |
4核16 GB (rds.mysql.m1.medium) | 800000 | 128 | 4000 | 7000 | 16 | 851326 | 243236 |
8核32 GB (rds.mysql.c1.xlarge) | 800000 | 128 | 8000 | 12000 | 32 | 2384256 | 681216 |
16核64 GB (rds.mysql.c2.xlarge) | 800000 | 128 | 16000 | 14000 | 64 | 4584090 | 1309740 |