写点什么

【腾讯云 TDSQL-C Serverless 产品测评】"橡皮筋"一样的数据库

作者:指剑
  • 2023-09-20
    重庆
  • 本文字数:2929 字

    阅读完需:约 10 分钟

@[TOC](【腾讯云 TDSQL-C Serverless 产品测评】"橡皮筋"一样的数据库)

活动介绍


腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless 版;活动整体包括了技术分享直播及线上答疑、连续三个月做三季的产品体验、产品测评、优质征文活动以及最后的优秀用户线上圆桌对话直播环节:本次参与活动涵盖不同技术层面的用户,初步的产品体验或针对 TDSQL-C 产品的自动弹性能力、自动启停能力、兼容性、安全、并发、可靠性等多方面的产品测评,并通过征文的方式输出,参与活动的同时既可以收获相关技术领域的实战经验同时也可获得丰厚的活动激

服务一览

何为 TDSQL ?

TDSQL 是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势 100% 兼容 MvSOL,为用户提供极致弹性、高性能、高可用、高可靠、安全的数据库服务。实现超百万 QPS 的高吞吐、PB 级海量分布式智能存储、Serverless 秒级伸缩,助力企业加速完成数字化转型。

Serverless 似曾相识?

Serverless 服务是腾讯云自研的新一代云原生关系型数据库 TDSQL-C 的无服务器架构版,是全 Serverless 架构的云原生数据库。Serverless 服务支持按实际计算和存储资源使用量收取费用,不用不付费,将腾讯云云原生技术普惠用户

降本增效,不再口号?

自疫情结束后,似乎 Serverless 在我们身边出现的频率愈来愈多,在 AIGC 的风口下,Serverless 版的 AIGC 使得用户和企业的使用成本变得更低。那么其实在数据库方面 Serverless 技术也是出现了好几年了,各大云厂商都有在 Serverless 方面深耕发展,在今年的大趋势下,降本增效的似乎是一个 IT 圈的主题,而 Serverless 技术在数据库方面的发展已经足够成熟,例如 TDSQL-C Serverless 版本,在用户不使用的情况下,服务是无状态的,那么就形成用户不用不扣费的一个场景,节省了成本。同时用户也不需要再关心底层到底有多大,需要买多大,只需要专注业务流程,让“云”帮我们自动拓展,的确是实现了降本增效

动手环节 --- "压力"山大

前面些许介绍,也许您觉看的也有点云里雾里,那么下面为您演示如何创建并且使用 TDSQL-C Serverless MySQL 版本

实验前瞻

稍作简介

那么这里 TDSQL-C Serverless MySQL 从其他厂商的对比来看,应该是属于一个 V1 的阶段,即 Serverless 服务支持按实际计算和存储资源使用量收取费用,不用不付费

资源扩缩范围(CCU)

其实对于用户而言,没有具体的一个资源型号的概念,只提供了 CCU 这个给用户,即 CCU(TDSQL-C Compute Unit)为 Serverless 的计算计费单位,一个 CCU 近似等于 1 个 CPU 和 2GB 内存的计算资源,每个计费周期的 CCU 使用数量为:数据库所使用的 CPU 核数 与 内存大小的 1/2 二者中取最大值

温馨提示

创建之前,请先购买存储资源包,价格更适合,降成本创建之前,请先购买存储资源包,价格更适合,降成本创建之前,请先购买存储资源包,价格更适合,降成本


一键直达: https://buy.cloud.tencent.com/cynosdb?product=package

服务的创建

如果您想获得完整的 Serverless 伸缩体验,那么建议您选择广州区域(作为大本营,资源应优先在其满足)一键直达控制台:https://curl.qcloud.com/FYEn3EWr

创建集群


查看集群信息


参数优化


  1. max_connections: 这是允许的最大并发连接数。它限制了可以同时连接到 MySQL 服务器的客户端数量。如果你的应用程序经常有大量并发连接,可能需要适当调整这个值。但是,设置过大的值可能会导致服务器资源耗尽。

  2. read_buffer_size: 这是每个连接用于顺序读取操作的缓冲区大小。读取缓冲区用于从磁盘中读取数据并传递给客户端。较大的缓冲区可以提高读取性能,但如果设置过大,会占用过多内存。

  3. query_cache_size: 查询缓存的大小,它用于存储之前执行的查询结果。启用查询缓存可以提高查询性能,但在高并发写入环境中可能会导致性能下降。在很多情况下,不建议过于依赖查询缓存。

  4. innodb_read_io_threads: 这是 InnoDB 存储引擎的读取 I/O 线程数。增加这个值可以增加并行读取能力,尤其在有大量并发读取操作时。但是,调整这个值可能需要重新启动 MySQL 服务器。

  5. thread_pool_size: 这是线程池的大小,线程池用于管理客户端连接的线程。线程池可以减少线程创建和销毁的开销,提高服务器的性能。适当的线程池大小取决于你的服务器硬件和并发连接数量。

  6. thread_cache_size: 线程缓存的大小,用于缓存已创建的线程,以便在需要时可以重用它们。这可以减少线程创建的开销。适当的线程缓存大小取决于并发连接模式。


可根据自己的实际可拓展大小再进行修改,这里仅作演示


压力负载测试

压测声明

  1. 本次采用的是聚合查询的方式,对数据库来进行压力测试

  2. 测试区域是在上海,可选的配置为 16-32

代码一览(部分)

插入模拟数据


    public void timer_task(){        ExecutorService executorService = Executors.newFixedThreadPool(100);        for (int i = 0; i < 100; i++) {            InsertTask task = new InsertTask(this.table_name);            executorService.execute(task);        }        executorService.shutdown();    }    public static void main(String[] args) {        String table_name = args[0];        APPMain app = new APPMain(table_name);        app.timer.schedule(app.timerTask,0,1000);    }
复制代码


聚合查询


    public void timer_task() {        ExecutorService executorService = Executors.newFixedThreadPool(5);        for (int i = 0; i < 5; i++) {            QueryTask task = new QueryTask(this.table_name);            executorService.execute(task);        }        executorService.shutdown();        try {            if (!executorService.awaitTermination(5, TimeUnit.SECONDS)) {                executorService.shutdownNow();            }        } catch (InterruptedException e) {            executorService.shutdownNow();        }    }
复制代码

压测结果(部分贴图)





小结

在高压负载下,Serverless 版本的数据库可以快速拓展,以满足用户的压力场景下的需求,同时可以持续性的顶住压力完成业务的操作,对于 CPU 和内存方面来讲,CPU 的压力很大,峰值情况下能够达到 100%,其内存情况方面来看,稳定维持在 80%-90%这个区间。值得一提的是其优秀的监控数据,能够给到及时的响应和显示

总结

先来看一组数据


  1. 从 AWS Aurora Serverless V1 发表于 2018 年,现目前推出 Serverless V2

  2. 阿里云云数据库 RDS MySQL Serverless 产品 2022 年 8 月 15 日正式开启商业化售卖

  3. 腾讯云于 2020 年 12 月正式上线 Serverless 服务,现目前 TDSQL-C MySQL Serverless V1 版本


可以看出,腾讯云在新技术领域的敏锐嗅觉,同时也把握住了正确的方向,在这样一个趋势下,推出的 Serverless 数据库产品,也结合国内的生产环境,做出了一些额外的优化,例如采取了资源包等,更贴合国内用户使用。在监控方面,确实看出腾讯很用心,非常及时响应的数据可以立刻呈现给用户,另有数据库智能管家,让数据库管理更加方便


也期待腾讯云能够继续优化 Serverless 版本的数据库,跟上世界一流云厂商的脚步,增加 Serverless 的 CCU 规格,让其更加贴合企业用户的使用,拿出更优质的产品,助力企业降本增效!


发布于: 刚刚阅读数: 5
用户头像

指剑

关注

InfoQ签约作者 2022-07-13 加入

AWS社区建设者,AWS学生大使,微软学生大使,阿里云签约作者,Info Q签约作者,CSDN博客专家,华为云云享专家

评论

发布
暂无评论
【腾讯云 TDSQL-C Serverless 产品测评】"橡皮筋"一样的数据库_腾讯云_指剑_InfoQ写作社区