• 动手测起来!搭载全自研数据库内核,我们将性能提升了20%


    近日,腾讯云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 测试方法

    第一步:准备数据

    file

    参考代码如下:

    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
    • 1
    • 2

    第二步:运行workload

    (1)OLTP只写场景

    file

    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
    • 1
    • 2

    (2)OLTP只读场景

    file

    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
    • 1
    • 2

    (3)OLTP混合读写场景

    file

    参考代码如下:

    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
    • 1
    • 2

    第三步:清理数据

    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
    • 1

    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 发布!

  • 相关阅读:
    5_会话管理实现登录功能
    PTA作业10单链表6-1 链表拼接
    普冉PY32系列(九) GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400
    《大模型进化论》第2章2节:从神经网络到预训练——近十年的显著突破与进展
    MFC Windows 程序设计[226]之下拉式列表(附源码)
    又在深夜配环境
    超轻巧的电竞鼠标,手感不错反应精准,雷柏VT9Pro体验
    portainer + portainer/agent
    Android Studio历史版本
    @SneakyThrows注解
  • 原文地址:https://blog.csdn.net/weixin_43872058/article/details/126850174