近日,腾讯云MySQL发布新架构,在基础硬件能力、自研内核及外部网络延迟等方面进行了全面升级。

在探究新版本实际性能的过程中,测试人员通过基准测试工具SysBench以及全仿真业务生产环境,分别针对只写、只读以及混合读写场景进行性能测试。其结果显示,新架构下的云数据库MySQL在性能上比原有架构提升20%。此外,通过TXSQL内核的更新,也为企业提供了更多实用的能力。

本次发布的云数据库MySQL新架构搭载最新的腾讯自研数据库内核TXSQL,不仅提供了如Parallel DDL、缓存快照主从同步等性能增强能力,还提供了原生闪回能力,协助用户通过简单的SQL语句查询误操作前的历史数据,节省大量数据恢复时间,保障业务的稳定运行。

此外,云数据库MySQL对网络架构也进行了全面升级,其中,降低请求延迟最高达80%,有效提升了性能表现

光说不测假把式!接下来,本文为您介绍通过SysBench测试工具,对云数据库MySQL的原有架构和新发布架构来一场测试对比,感兴趣的读者可以参考测试说明,欢迎一起来测。

测试说明

2.1 测试环境

地域/可用区:北京 - 北京六区;

客户端规格:S5.2XLARGE16,8核16GB;

客户端操作系统:TencentOS Server 3.2;

网络:云服务器 CVM 和云数据库 MySQL 实例网络类型均为私有网络(VPC)且在同一子网下;

存储类型:本地 SSD 盘;

测试实例规格:通用型 4核 16GB;

参数模板:高性能模板;

复制方式:异步复制;

2.2 测试工具

SysBench 是一个跨平台且支持多线程的模块化基准测试工具,用于评估系统在运行高负载的数据库时相关核心参数的性能表现。SysBench可绕过复杂的数据库基准设置,甚至在没有安装数据库的前提下,快速了解数据库系统的性能。本压测使用SysBench 1.0.20版本。

2.3 测试场景

本次压测从3个场景进行测试,分别是:只写场景、只读场景以及混合读写场景,每个场景进行2~3000个线程压测,取压测下的QPS值作为性能结果指标。

2.4 测试方法

第一步:准备数据

prepare_2.gif

参考代码如下:

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

第二步:运行workload

(1)OLTP只写场景

write-use.gif

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_only run

(2)OLTP只读场景

read-final.gif

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=1 oltp_read_only run

(3)OLTP混合读写场景

test.gif

参考代码如下:

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_write run

第三步:清理数据

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

2.5 测试指标

每秒执行请求数QPS(Queries Per Second)

测试结果

3.1 只写场景测试结果

在只写场景下,云数据库MySQL新架构性能随线程数增加而始终高于原有架构特性,线程数为256时达到最高QPS,且在线程数为512时,新架构特性QPS值高于原有架构QPS的20%。

file

3.2 只读场景测试结果

在只读场景下,低线程数时云数据库MySQL新架构QPS增幅较大,趋近直线上升,在线程数达到64以后QPS上升平缓,总体性能始终高于原有架构,且在线程数为16时,高于原有架构QPS的22%。

file

3.3 混合读写场景测试结果

在混合读写场景下,低线程数时云数据库MySQL新架构QPS增幅较大,线程数达到512之后,整体QPS平缓下降。此时,新架构QPS达到最高,高于原有架构的18%。

file

结论

通过三个场景的测试对比,云数据库MySQL新发布的架构,在性能上远高于原有架构,三个场景下,线程数从2到3000,压测的QPS值平均提升20%以上,印证了云数据库MySQL升级后,性能大大提升。

腾讯云数据库内核团队将持续在前沿技术探索上不遗余力,聚焦市场与客户需求,把技术概念更好地落地实现,为各行各业带来全新的业务价值与技术优势。在未来,依托于新架构以及不断更新地内核,为大家带来更多的企业级特性。

本文由博客群发一文多发等运营工具平台 [OpenWrite] 发布