tencent cloud

文档反馈

性能表现

最后更新时间:2024-04-18 16:49:46
    本文介绍通过性能测试工具 SysBench,对比开启 CPU 弹性扩容能力的性能表现。

    SysBench 工具介绍

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

    测试环境

    说明:
    以下环境为示例所使用的环境。
    云数据库 MySQL 性能测试所使用的环境
    地域/可用区:北京 - 北京七区
    客户端:S5.8XLARGE64(标准型S5,32核64GB)
    客户端操作系统:CentOS 8.2 64位
    网络:云服务器 CVM 和云数据库 MySQL 实例网络类型均为私有网络(VPC)且在同一子网下
    测试的云数据库 MySQL 实例信息如下
    三组实例:北京七区,通用型2核4G,双节点云数据库 MySQL。
    A 组:NO-CPU-Expand,不开启 CPU 弹性扩容功能。
    B 组:AUTO-CPU-Expand,开启 CPU 弹性自动扩容功能。
    C 组:MANUAL-CPU-Expand,开启 CPU 弹性手动扩容功能。
    参数设置
    控制台设置参数 max_prepared_stmt_count 为最高值,以应对高并发。

    测试流程

    步骤1
    在数据库内创建 sbtest 数据库,开启 B 组 CPU 弹性自动扩容,开启 C 组 CPU 弹性手动扩容。
    步骤2
    Sysbench 准备数据,单表10w数据量,10张表。
    步骤3
    Sysbench 读写测试,单表10w数据量,10张表。
    步骤4
    Sysbench 清除数据,关闭 C 组 CPU 弹性手动扩容。

    测试说明

    测试会受到时段、时长、机器等多种因素影响,建议多次测试对比结果。

    执行命令

    根据以上步骤,分别进行测试。
    说明:
    请将以下命令中的 XXX 替换为云数据库 MySQL 测试实例的内网地址、端口号、用户名、用户密码、数据库名,具体参数说明如下:
    host:测试实例的内网地址
    port:端口号
    user:用户名
    password:上述用户名对应的密码
    time:时间
    threads:并发数
    1. 准备数据,单表10w数据量,10张表。
    sysbench –-db-driver=mysql –-mysql-host=xxx –-mysql-port=xxxx –-mysql-user=xxx –-mysql-password=‘XXXXXXXXXX’ –-mysql-db=sbtest -–table_size=100000 –-tables=10 –-events=0 –-time=xxxx –-threads={xxxx} oltp_read_write prepare
    
    2. 运行高并发,单表10w数据量,10张表。
    sysbench --db-driver=mysql --mysql-host=xxx --mysql-port=xxxx --mysql-user=xxx --mysql-password=‘XXXXXXXXXX’ --mysql-db=sbtest --table_size=100000 --tables=10 --events=0 --time=xxx --threads={xxx} --percentile=95 --report-interval=1 oltp_read_write run
    
    3. 清理数据。
    sysbench --db-driver=mysql --mysql-host=xxx --mysql-port=xxxx --mysql-user=xxx --mysql-password=‘XXXXXXXXXX’ --mysql-db=sbtest --table_size=100000 --tables=10 --events=0 --time=xxx --threads={xxx} --percentile=95 oltp_read_write cleanup

    测试结果

    说明:
    如下图所示,在三组 CPU 弹性扩容功能的对比实验结果中,我们可以看到:
    第一阶段:21:03开启数据注入,NO-CPU-Expand 和 AUTO-CPU-Expand 的 CPU 利用率达到70%以上,但时长未超过1min。因此,AUTO-CPU-Expand 组未触发自动扩容功能,而 MANUAL-CPU-Expand 一开启即扩容,已经是4核运行状态,CPU 利用率不到50%;
    第二阶段:21:07开启高并发测试,NO-CPU-Expand 的 CPU 利用率始终在70%以上,AUTO-CPU-Expand 的 CPU 利用率在70%以上,超过1min时触发了自动扩容,秒级扩容成功,利用率降低至50%以下,MANUAL-CPU-Expand 的 CPU 利用率始终保持在50%以下。
    
    说明:
    除了 CPU 利用率有显著变化外,开启 CPU 弹性扩容功能的实例性能表现同样明显,如下图所示,开启弹性扩容功能的 TPS、QPS 均高于未开启的实例。注意:测试的性能表现与测试时段、时长、机器等因素有一定的关系,建议多次测试对比结果。
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持