测试工具
数据库基准性能测试为 sysbench 1.0.20。
安装工具
本文测试使用的是 Sysbench 1.0.20 版本,安装方法如下:
git clone https://github.com/akopytov/sysbench.gitgit checkout 1.0.20yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysqlcd sysbench./autogen.sh./configuremake -jmake install
说明:
测试环境
类型 | 说明 |
测试实例规格 | 本次测试选择常用的三种规格进行测试,分别为4核8GB内存、8核32GB内存、16核128GB内存 |
客户端配置 | 64核128GB内存 |
客户端内网带宽 | 23Gbps |
测试数据量 | 数据库实例内存 * 1.2 |
测试数据库实例版本 | 5.6 20210630、5.7 20210630、8.0 20210330 |
客户端规格说明:机器采用了较高配置的客户机器,保证单客户端可以压测出数据库实例的性能,如果客户端配置规格较小,建议采用多个客户并行压测实例来求取数据总和。
网络延时说明:测试环境保证客户端机器与数据库实例在同一可用区,测试结果不受网络环境影响。
测试方法
测试数据准备
sysbench --db-driver=mysql --mysql-host=xxxx --mysql-port=xxxx --mysql-user=xxxx --mysql-password=xxxx --mysql-db=sbtest --table_size=xxxx --tables=xxxx --events=0 --time=600 --threads=xxxx --percentile=95 --report-interval=1 oltp_read_write prepare
性能压测命令
sysbench --db-driver=mysql --mysql-host=xxxx --mysql-port=xxxx --mysql-user=xxxx --mysql-password=xxxx --mysql-db=sbtest --table_size=xxxx --tables=xxxx --events=0 --time=600 --threads=xxxx --percentile=95 --report-interval=1 oltp_read_write run
性能压测参数说明:
oltp_read_write
,表示调用 /usr/share/sysbench/oltp_read_write.lua 脚本进行 oltp 模式测试。--tables=xxxx
,表示本次用于测试的表数量。--table_size=xxxx
,表示本次测试使用的表行数。--threads=xxxx
,表示本次测试的客户端连接并发数。--report-interval=1
,表示每秒输出一次测试结果。--percentile=95
,表示设定采样比例,默认是95%。--time=600
,表示本次测试的执行时间,600代表600秒。场景模型
本文用例均使用 sysbench 的 lua 脚本。
针对常用配置类型,对不同的参数模板进行性能测试,测试结果见下文测试结果。
测试结果
5.6 20210630版本
CPU(核) | 内存(GB) | threads | 测试时长 | 模板 | SysBench QPS | SysBench TPS | avg_lat |
4 | 8 | 32 | 10分钟 | 默认模板(废弃) | 34428.69 | 1721.43 | 18.59ms |
| | | | 高性能参数模板 | 35917.50 | 1795.87 | 17.82ms |
| | | | 高稳定性模板 | 34834.04 | 1741.70 | 18.37ms |
8 | 32 | 64 | 10分钟 | 默认模板(废弃) | 61210.19 | 3060.51 | 20.91ms |
| | | | 高性能参数模板 | 67719.55 | 3385.98 | 18.90ms |
| | | | 高稳定性模板 | 64910.09 | 3245.50 | 19.72ms |
16 | 128 | 128 | 10分钟 | 默认模板(废弃) | 106965.44 | 5348.27 | 23.93ms |
| | | | 高性能参数模板 | 127955.48 | 6397.77 | 20.00ms |
| | | | 高稳定性模板 | 119509.02 | 5975.45 | 21.41ms |
5.7 20210630版本
CPU(核) | 内存(GB) | threads | 测试时长 | 模板 | SysBench QPS | SysBench TPS | avg_lat |
4 | 8 | 32 | 10分钟 | 默认模板(废弃) | 34428.69 | 1721.43 | 18.59ms |
| | | | 高性能参数模板 | 35917.50 | 1795.87 | 17.82ms |
| | | | 高稳定性模板 | 34834.04 | 1741.70 | 18.37ms |
8 | 32 | 64 | 10分钟 | 默认模板(废弃) | 61210.19 | 3060.51 | 20.91ms |
| | | | 高性能参数模板 | 67719.55 | 3385.98 | 18.90ms |
| | | | 高稳定性模板 | 64910.09 | 3245.50 | 19.72ms |
16 | 128 | 128 | 10分钟 | 默认模板(废弃) | 106965.44 | 5348.27 | 23.93ms |
| | | | 高性能参数模板 | 127955.48 | 6397.77 | 20.00ms |
| | | | 高稳定性模板 | 119509.02 | 5975.45 | 21.41ms |
8.0 20210330版本
CPU(核) | 内存(GB) | threads | 测试时长 | 模板 | SysBench QPS | SysBench TPS | avg_lat |
4 | 8 | 32 | 10分钟 | 默认模板(废弃) | 32594.79 | 1629.74 | 19.63ms |
| | | | 高性能参数模板 | 33383.77 | 1669.19 | 19.17ms |
| | | | 高稳定性模板 | 32071.90 | 1603.60 | 19.95ms |
8 | 32 | 64 | 10分钟 | 默认模板(废弃) | 65718.22 | 3285.91 | 19.47ms |
| | | | 高性能参数模板 | 70195.37 | 3509.77 | 18.23ms |
| | | | 高稳定性模板 | 60704.69 | 3035.23 | 21.08ms |
16 | 128 | 128 | 10分钟 | 默认模板(废弃) | 132023.66 | 6601.18 | 19.38ms |
| | | | 高性能参数模板 | 151021.67 | 7551.08 | 16.95ms |
| | | | 高稳定性模板 | 132391.01 | 6619.55 | 19.33ms |