Databases 12 min read

How Alibaba Cloud RDS Outperforms Tencent and AWS in MySQL Benchmarks

This article presents a detailed MySQL performance benchmark of Alibaba Cloud RDS, Tencent Cloud RDS, and AWS RDS using sysbench, analyzes configuration differences, shows results across mixed, read‑only, and no‑index update workloads, and offers practical recommendations for cloud database tuning.

Programmer DD
Programmer DD
Programmer DD
How Alibaba Cloud RDS Outperforms Tencent and AWS in MySQL Benchmarks

1. Introduction

MySQL performance benchmarking may look simple with sysbench or tpcc, but it is a technical activity, especially when comparing performance across different cloud providers because parameter settings differ. Without clarifying configuration differences, results can be misleading.

This article benchmarks three mainstream cloud databases, focusing on QPS and TPS under various load scenarios. The results are not intended as purchase advice.

2. Benchmark

2.1 Instance Information

Alibaba Cloud RDS instance configuration:

Tencent Cloud RDS instance configuration:

AWS RDS instance configuration:

To keep default parameters comparable, the high‑availability, high‑performance template was selected. The key differences are the sync_binlog and innodb_flush_log_at_trx_commit settings, known as the “dual‑1 mode”.

2.2 Benchmark Model

Tool version: sysbench 0.5

Concurrency levels: 24 48 72 96 120 144 168 192 256 512 1024 Three classic sysbench scenarios were used:

Read‑write mixed mode (OLTP) for general workloads.

Read‑only mode (primary‑key selects) for read‑heavy workloads.

No‑index update mode (pure writes) to evaluate TPS.

Read‑Write Mixed Mode

Command:

sysbench --test=/opt/sysbench/share/sysbench/oltp.lua --oltp-tables-count=10 --oltp-table-size=5000000 --mysql-db=sysbench --mysql-user=sysbench --mysql-password=xxxx --mysql-host=xxxx --mysql-port=3306 --max-time=300 --max-requests=0 --num-threads=$i run

Read‑Only Mode

Command:

sysbench --test=/opt/sysbench/share/sysbench/select.lua --oltp-tables-count=10 --oltp-table-size=5000000 --mysql-db=sysbench --mysql-user=sysbench --mysql-password=xxxx --mysql-host=xxxx --mysql-port=3306 --max-time=300 --max-requests=0 --num-threads=$i run

No‑Index Update

Command:

sysbench --test=/opt/sysbench/share/sysbench/ update_non_index .lua --oltp-tables-count=10 --oltp-table-size=5000000 --mysql-db=sysbench --mysql-user=sysbench --mysql-password=xxxx --mysql-host=xxxx --mysql-port=3306 --max-time=300 --max-requests=0 --num-threads=$i --oltp-test-mode=complex run

3. Benchmark Results Comparison

3.1 Scenario 1 – Read‑Write Mixed Mode

In this scenario Alibaba Cloud RDS outperforms Tencent Cloud RDS and AWS RDS, with QPS about 50‑100% higher and TPS about 60‑90% higher. AWS RDS is roughly 20‑30% faster than Tencent Cloud RDS.

3.2 Scenario 2 – Read‑Only Mode

Under read‑only load, Alibaba Cloud RDS performance is about twice that of Tencent Cloud RDS and AWS RDS.

3.3 Scenario 3 – No‑Index Update

Alibaba Cloud RDS exceeds the other two by 30‑200%. Its performance remains stable as concurrency rises, while Tencent Cloud RDS degrades, likely due to the thread pool being disabled.

4. Potential Influencing Factors

Factors such as MySQL code design, host CPU, disk configuration, RAID controller, MySQL parameters, and network latency affect throughput. For cloud users, most of these are black boxes; only MySQL‑related parameters can be tuned.

Key parameter comparisons:

innodb_buffer_pool_size: Alibaba 24G, Tencent 22G, AWS 24G

binlog size: Alibaba 1.46G, Tencent 1G, AWS 128M (small size may cause performance jitter on AWS)

redo log buffer: Alibaba 8M, Tencent 64M, AWS 8M

innodb_io_capacity: Alibaba 20000, Tencent 20000, AWS 200

innodb_read_io_threads / innodb_write_io_threads: Alibaba 4, Tencent 12, AWS 4

performance_schema: OFF for all

Replication mode: Alibaba async, Tencent async, AWS single‑instance

Thread pool: enabled on Alibaba, disabled on Tencent and AWS

sync_binlog: Alibaba 1000, Tencent 0, AWS 1000

innodb_flush_log_at_trx_commit: 2 for all

Enabling the thread pool on MySQL improves stability under high concurrency.

Explanation of innodb_flush_log_at_trx_commit and sync_binlog settings:

innodb_flush_log_at_trx_commit
If set to 0, the log buffer is written to the log file each second and flushed to disk simultaneously; no disk flush occurs on transaction commit.
If set to 1, MySQL writes the log buffer to the log file and flushes to disk on every commit.
If set to 2, MySQL writes the log buffer to the log file on each commit but flushes to disk only once per second.
When sync_binlog=0, MySQL relies on the OS to flush the binary log.
When sync_binlog=N (N>0), MySQL calls fdatasync() after every N writes to the binary log.
Choosing a high‑performance version may sacrifice some data safety; users can adjust the parameters via console or tickets.

5. Issues Encountered

During AWS RDS testing, sysbench with 10 tables and 512‑1024 concurrency occasionally failed; increasing connect_timeout mitigated the issue. Tests with 50 or 250 tables succeeded. Alibaba and Tencent RDS did not exhibit initialization failures under high concurrency.

6. Conclusion

Across all three scenarios—read‑write mixed, read‑only, and no‑index update—Alibaba Cloud RDS delivers superior performance compared to Tencent Cloud RDS and AWS RDS, and its performance remains stable as concurrency increases.

Recommendations for cloud users:

Enable the thread pool and increase binlog size (e.g., 1 GB) to avoid performance jitter.

Pay attention to sync_binlog and innodb_flush_log_at_trx_commit values.

Use a newer sysbench version (e.g., 1.0) and create more than 20 tables to avoid initialization failures on AWS.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

performance benchmarkmysqlDatabase OptimizationSysbenchCloud RDS
Programmer DD
Written by

Programmer DD

A tinkering programmer and author of "Spring Cloud Microservices in Action"

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.