Benchmark Sysbench
These benchmark results show how the supported database engines perform across compute configurations, so you have a starting point when choosing an instance size.
These figures are reference data, not a performance guarantee. Your throughput depends on your workload, schema, indexing, read/write ratio, and storage and network configuration. Test with your own workload before committing to a configuration in production.
What was measured
The benchmark evaluates OLTP read and write performance, shows how throughput scales as CPU and memory increase, and gives comparable numbers across flavors.
Engines covered: PostgreSQL, MySQL, MariaDB, MongoDB, and Redis.
| Metric | Meaning |
|---|---|
| Sysbench Read | Total read queries executed during the test. |
| Sysbench Write | Total write queries executed during the test. |
| QPS (Queries Per Second) | Average queries processed per second. |
| TPS (Transactions Per Second) | Average completed transactions per second. |
Higher QPS and TPS mean higher throughput under the tested workload.
PostgreSQL
Test environment
| Parameter | Value |
|---|---|
| Benchmark tool | Sysbench (OLTP Read/Write) |
| Number of tables | 64 |
| Rows per table | 1,000,000 |
| Workload type | Read/Write |
| Thread count | Configured per instance size |
| PostgreSQL version | PostgreSQL 17 |
Results
| Flavor (vCPU/RAM) | Threads | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 2C4G | 64 | 2,595,600 | 741,590 | 6,177.66 | 308.88 |
| 2C8G | 64 | 2,481,276 | 708,929 | 5,905.53 | 295.27 |
| 4C8G | 64 | 3,189,018 | 911,134 | 7,589.71 | 379.48 |
| 8C16G | 64 | 4,829,286 | 1,379,738 | 11,496.20 | 574.79 |
| 8C32G | 64 | 5,679,842 | 1,622,732 | 13,519.46 | 675.94 |
| 16C32G | 64 | 6,448,036 | 1,842,199 | 15,350.46 | 767.49 |
| 16C64G | 64 | 6,926,948 | 1,979,031 | 16,489.02 | 824.41 |
MySQL
Test environment
| Parameter | Value |
|---|---|
| Benchmark tool | Sysbench (OLTP Read/Write) |
| Number of tables | 64 |
| Rows per table | 1,000,000 |
| Workload type | Read/Write |
| Thread count | Configured per instance size |
| MySQL version | MySQL 8.0.42 |
Results
| Flavor (vCPU/RAM) | Threads | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 4C8G | 16 | 6,814,500 | 1,947,000 | 16,224.39 | 811.22 |
| 8C16G | 32 | 9,748,144 | 2,785,184 | 23,209.29 | 1,160.46 |
| 8C32G | 32 | 9,423,834 | 2,692,524 | 22,430.67 | 1,121.53 |
| 16C32G | 64 | 9,786,238 | 2,796,068 | 23,289.48 | 1,164.47 |
MariaDB
Test environment
| Parameter | Value |
|---|---|
| Benchmark tool | Sysbench (OLTP Read/Write) |
| Number of tables | 64 |
| Rows per table | 1,000,000 |
| Workload type | Read/Write |
| Thread count | Configured per instance size |
| MariaDB version | MariaDB 10.6 |
Results
| Flavor (vCPU/RAM) | Threads | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 4C8G | 16 | 10,573,514 | 2,111,341 | 25,174.34 | 1,258.72 |
| 8C16G | 32 | 8,923,236 | 2,094,628 | 21,245.25 | 1,062.26 |
| 8C32G | 32 | 8,491,182 | 2,086,388 | 20,216.52 | 1,010.83 |
| 16C32G | 64 | 10,267,208 | 2,568,032 | 24,444.58 | 1,222.23 |
| 16C64G | 64 | 10,789,884 | 2,719,241 | 25,688.30 | 1,284.42 |
MongoDB
Test environment
| Parameter | Value |
|---|---|
| Benchmark tool | Sysbench (OLTP Read/Write) |
| Number of documents | 1,000,000 |
| Number of operations | 1,000,000 |
| Workload type | Read/Write |
| Thread count (YCSB threads) | Configured per instance size |
| MongoDB version | MongoDB 6.0.6 |
Results
| Flavor (vCPU/RAM) | Threads | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 2C4G | 8 | 500,195 | 499,805 | 3,372.36 | 3,372.36 |
| 2C8G | 8 | 500,022 | 499,978 | 4,004.93 | 4,004.93 |
| 4C8G | 16 | 499,772 | 500,228 | 5,023.81 | 5,023.81 |
| 8C16G | 32 | 500,293 | 499,707 | 6,417.54 | 6,417.54 |
| 8C32G | 32 | 500,372 | 499,628 | 5,921.64 | 5,921.64 |
| 16C32G | 64 | 499,865 | 500,135 | 8,532.79 | 8,532.79 |
| 16C64G | 64 | 499,989 | 500,011 | 12,972.02 | 12,972.02 |
Redis
Test environment
| Parameter | Value |
|---|---|
| Benchmark tool | Sysbench (OLTP Read/Write) |
| Number of keys | 1,000,000 |
| Workload type | Read/Write |
| Redis version | Redis 7.2.1 |
Results
| Flavor (vCPU/RAM) | Sysbench Read | Sysbench Write | Total QPS | P99 latency | AVG latency |
|---|---|---|---|---|---|
| 2C4G | 68,600 | 29,405 | 98,005.25 | 28.93 | 3.10 |
| 2C8G | 68,346 | 29,296 | 97,641.61 | 30.85 | 3.92 |
| 4C8G | 67,948 | 29,126 | 97,074.26 | 35.33 | 6.77 |
| 8C16G | 68,655 | 29,428 | 98,083.03 | 28.03 | 3.41 |
| 8C32G | 67,811 | 29,067 | 96,878.29 | 35.84 | 5.77 |
| 16C32G | 67,964 | 29,132 | 97,096.07 | 33.54 | 4.89 |
| 16C64G | 68,329 | 29,289 | 97,617.73 | 31.74 | 4.42 |
How to read these numbers
Adding CPU and memory generally raises throughput, but each engine scales differently and the gains flatten out at higher configurations depending on the workload and system limits.
Use the tables to narrow your choice to two or three candidate flavors, then validate with your own application. The workload shape matters more than the flavor once you are past the obvious undersizing.
Next steps
- Change database resource configuration to change flavor on an existing cluster
- Configure auto scaling
- Glossary