This topic describes the performance test results of a general-purpose ApsaraDB for RDS instance that runs MySQL 5.7.
Scenario 1: Cache-based queries
All the data that you query is hit in the cache.
Set the table_size parameter to 25000 and the tables parameter to 250 in SysBench.

CPU
(Number of cores) |
Memory
(GB) |
Maximum number of connections | IOPS | Number of SysBench threads | SysBench QPS | SysBench TPS |
---|---|---|---|---|---|---|
1 | 1 | 300 | 600 | 8 | 681.04 | 34.05 |
1 | 2 | 600 | 1,000 | 8 | 2396.22 | 119.81 |
2 | 4 | 1,200 | 2,000 | 8 | 22169.8 | 1108.49 |
2 | 8 | 2,000 | 4,000 | 8 | 22996.9 | 1149.85 |
4 | 8 | 2,000 | 5,000 | 16 | 57536.39 | 2876.82 |
4 | 16 | 4,000 | 7,000 | 16 | 57989.73 | 2899.49 |
8 | 16 | 4,000 | 8,000 | 32 | 79132.3 | 3956.62 |
8 | 32 | 8,000 | 12,000 | 32 | 83925.17 | 4196.26 |
16 | 64 | 16,000 | 14,000 | 64 | 129768.63 | 6488.43 |
16 | 96 | 24,000 | 16,000 | 64 | 132538.39 | 6626.92 |
Scenario 2: Disk I/O-based queries
Only some data that you query is hit in the cache, and the RDS instance needs to read and write data to disks and update the cache to complete queries.
Set the table_size parameter to 800000 and the tables parameter to 150 in SysBench.

CPU
(Number of cores) |
Memory
(GB) |
Maximum number of connections | IOPS | Number of SysBench threads | SysBench QPS | SysBench TPS |
---|---|---|---|---|---|---|
1 | 1 | 300 | 600 | 64 | 444.53 | 22.23 |
1 | 2 | 600 | 1,000 | 64 | 756.29 | 37.81 |
2 | 4 | 1,200 | 2,000 | 64 | 1596.02 | 79.8 |
2 | 8 | 2,000 | 4,000 | 64 | 3592.29 | 179.61 |
4 | 8 | 2,000 | 5,000 | 64 | 4500.7 | 225.03 |
4 | 16 | 4,000 | 7,000 | 64 | 8120.82 | 406.04 |
8 | 16 | 4,000 | 8,000 | 64 | 9292.33 | 464.62 |
8 | 32 | 8,000 | 12,000 | 64 | 29854.07 | 1492.7 |
16 | 64 | 16,000 | 14,000 | 64 | 123677.48 | 6183.87 |
16 | 96 | 24,000 | 16,000 | 64 | 131773.25 | 6588.66 |