云数据库 MySQL 对数据库实例的网络架构进行了升级,新版网络架构具备更好的性能,更低的延迟,为您提供更强性能的网络服务。本文为您介绍新老网络架构的性能测试对比。
说明:
2022年11月09日开始,新购实例将采用全新的网络架构,延迟更低,性能更强。
2023年1月21日当天完成存量数据库实例的网络架构切换,访问数据库有可能发生秒级闪断,请确保业务具备重连机制。
单节点云盘实例已经是网络最优架构,实例详情页不展示是否为网络新架构。
基础网络无法使用新网络架构,如需使用新架构,请先 切换至私有网络,然后等待网络架构升级。
如需详细了解网络架构升级说明,请参见 网络架构升级公告。
测试环境
地域/可用区:北京 - 北京六区。
客户端规格:S5.2XLARGE16,8核16GB。
客户端操作系统:TencentOS Server 3.2。
网络:云服务器 CVM 和云数据库 MySQL 实例网络类型均为私有网络(VPC)且在同一子网下。
存储类型:本地 SSD 盘。
测试实例规格:通用型4核16GB。
参数模板:高性能模板。
复制方式:异步复制。
测试工具
通过基准测试工具 SysBench 进行测试。SysBench 是一个跨平台且支持多线程的模块化基准测试工具,用于评估系统在运行高负载的数据库时相关核心参数的性能表现。SysBench 可绕过复杂的数据库基准设置,甚至在没有安装数据库的前提下,快速了解数据库系统的性能。压测使用的是 SysBench 1.0.20版本。
测试场景
本次压测从3个场景进行测试,分别是:只写场景、只读场景以及混合读写场景,每个场景进行2个 - 3000个线程压测,取压测下的 QPS 值作为性能结果指标。
测试方法
步骤1:准备数据
执行命令如下:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX--mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000--tables=10 --events=0 --time=300 --threads={2~3000} oltp_read_write prepare
步骤2:运行 workload
分别从只写、只读以及混合读写场景运行 workload,注意不要配置错误。
OLTP 只写场景
执行命令如下:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX--mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000--tables=10 --events=0 --time=300 --threads={2~3000} --percentile=95 --report-interval=1 oltp_write_onlyrun
OLTP 只读场景
执行命令如下:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX--mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000--tables=10 --events=0 --time=300 --threads={2~3000} --percentile=95 --skip-trx=1 --report-interval=1oltp_read_onlyrun
OLTP 混合读写场景
执行命令如下:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX--mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000--tables=10 --events=0 --time=300 --threads={2~3000} --percentile=95 --report-interval=1 oltp_read_writerun
步骤3:清理数据
运行测试完成后进行数据清理,执行命令如下:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX--mysql-db=sbtest --table_size=25000 --tables=250 --events=0 --time=600 --threads=XXX --percentile=95 oltp_read_write cleanup
测试指标
测试指标为每秒执行请求数 QPS(Queries Per Second)。
测试结果
只写场景测试结果
在只写场景下,云数据库 MySQL 新架构性能随线程数增加而始终高于原有架构特性,线程数为256时达到最高 QPS,且在线程数为512时,新架构特性 QPS 值高于原有架构 QPS 的20%。
只读场景测试结果
在只读场景下,低线程数时云数据库 MySQL 新架构 QPS 增幅较大,趋近直线上升,在线程数达到64以后 QPS 上升平缓,总体性能始终高于原有架构,且在线程数为16时,高于原有架构 QPS 的22%。
混合读写场景测试结果
在混合读写场景下,低线程数时云数据库 MySQL 新架构 QPS 增幅较大,线程数达到512之后,整体 QPS 平缓下降。此时,新架构 QPS 达到最高,高于原有架构的18%。
结论
说明:
以上性能测试结果仅供参考。
通过以上三个场景的测试对比,云数据库 MySQL 新版网络架构,在性能上远高于原有架构,三个场景下,线程数从2到3000,压测的 QPS 值平均提升20%以上,新版网络架构的性能得到大大提升。