【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评

这篇具有很好参考价值的文章主要介绍了【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

一、前言

最近在CSDN看到腾讯云的 TDSQL-C ServerLess Mysql 数据库体验活动,作为云原生的Serverless数据库,还是很有兴趣的,看文档中TDSQL-C Serverless Mysql提供了集群高可用的功能,我们通过实际测试来验证一下它的可靠性,具体如何测试,请看下文!

二、Serverless介绍

大家都知道,随着互联网技术的发展,应用架构模式也在不断演进。Serverless作为一种新的架构模式,正在风靡IT界。

Serverless的核心思想就是:开发者不再需要购买和管理服务器实例,也不需要根据流量变化来进行弹性扩容缩容。而是通过代码触发事件驱动计算,系统会自动弹性伸缩基于使用量付费的计算资源。

比如,开发者只需编写业务代码,将代码部署上云,然后就可以访应用了。应用启动和关闭,计算资源的调度,都是由底层平台完全来完成。开发者完全摆脱了对硬件和基础架构的管理。

这跟传统的有服务器架构形成鲜明对比。传统架构要求开发者购买服务器,部署软件,开启和关闭实例,手动进行弹性扩缩容等运维工作。耗费大量时间成本。

Serverless做到"无服务器",开发效率得到大幅提升。且只为真实产生的请求计费,可以显著节省IT项目成本。这也是它为什么这么火。

下面是 Serverless 的一些应用场景:

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

三、TDSQL-C Serverless Mysql介绍

随着Serverless技术的不断成熟, TDSQL-C Serverless Mysql 就是一款完全Serverless的数据库,它可以根据业务自行扩缩容,设计理念就是「无服务器」,由于他是Serverless架构,所以它也继承了 Serverless的所有优点

  • 计算资源可以由系统自动弹性伸缩,开发者无需管理服务器;
  • 数据存储使用分布式机制,自动进行数据分片与扩容;
  • 集群高可用,即使节点异常也能保证读写通过快速切换
  • …等等

TDSQL-C ServerLess Mysql 的整个产品架构如下所示:

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
因为 TDSQL-C Serverless Mysql 数据库拥有Serverless的众多特性,所以在很多领域都可以使用,类似于我们的自动伸缩业务,经常做活动,不希望晚上资源浪费等,以下常见常见都可以采用 TDSQL

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

四、集群可用性测试

我们采用3节点的TDSQL-C集群,然后使用压测工具对写入节点进行高并发读写操作,期间会对只读节点进行移除和增加,也同时会对CCU的自动扩缩进行观察。本来是希望把节点部署到多个可用区域的,但是发现 Serverless 集群不支持多个可用区部署,也就是集群节点都在同一个区域,这个有可能是因为所有的节点都共享同一份数据的缘故。

4.1、集群搭建

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

环境说明:

  • mysql8.0
  • 3节点 1写2读
  • serverless架构 集群版

直接购买下一步即可完成集群的搭建,非常方便,不需要我们像传统集群搭建,需要自己去配置网络以及协议等

进入集群详情页即可看到我们的集群情况,这里我们需要把读写实例和读写组的公网访问开启一下

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

写实例的开启的逻辑很简单,因为作为数据的唯一写入入口,必须得暴露出来给上层使用,为什么读节点只需要开只读组呢?只读组会将只读节点全部统一成一个入口,也就是查询只需走只读组的入口,不需要我们再去应用层设置负载均衡,TDSQL-C Serverless Mysql 会自动进行转发,读数据使用读写组即可进行数据访问,中间的负载器会自动进行性能负载

  • 创建测试数据库

通过 DMC 进行数据库创建,DMC 是腾讯云为开发者提供的 Web 在线数据库管理平台,非常方便好用!
【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

4.2、测试环境准备

这里我们主要以 Sysbench 为出发点,对节点异常测试,作为一款广泛使用的开源模块化的、跨平台、多线程基准测试工具,sysbench主要用于评估计算机系统在不同负载条件下的性能表现。

  • 安装
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash
sudo apt -y install sysbench
  • 进行基础测试
sysbench --db-driver=mysql --mysql-host=gz-cynosdbmysql-grp-r3i3tnbl.sql.tencentcdb.com --mysql-port=25742 --mysql-user=root --mysql-password='a.' --mysql-db=abc --events=0 --table-size=50000 --tables=10 --threads=500 --time=300 --percentile=95 --report-interval=1 oltp_write_only prepare

这个命令是使用sysbench工具执行OLTP(联机事务处理)的读写基准测试。解释如下:

  • --db-driver=mysql: 指定使用MySQL数据库驱动程序。
  • --mysql-host: 指定MySQL数据库的主机名或IP地址。
  • --mysql-port: 指定MySQL数据库的端口号。
  • --mysql-user: 指定连接MySQL数据库所使用的用户名。
  • --mysql-password: 指定连接MySQL数据库所使用的密码。请将password替换为实际的密码。
  • --mysql-db=abc: 指定要在MySQL数据库中使用的数据库名称。
  • --table-size=50000: 指定每个表的数据量大小,这里设置为50000。
  • --tables=10: 指定要创建的表的数量,这里设置为10。
  • --threads=500: 指定并发线程数,这里设置为500,表示将使用500个并发线程执行测试。
  • --events=0: 指定要执行的事件数量,这里设置为0,表示不限制事件数量。
  • --time=300: 指定测试运行的持续时间,这里设置为300秒(5分钟)。
  • --percentile=95: 指定报告中的百分位数,这里设置为95,表示将计算并报告第95百分位的响应时间。
  • --report-interval=10: 指定报告输出的时间间隔,这里设置为10秒,表示每秒输出一次测试结果。

我们执行后将使用500个线程在10个表上执行写入操作,每个表的大小为50000行数据,持续时间为300秒(5分钟)。测试结果将包括第95百分位的响应时间,并每10秒输出一次报告。

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
但是在开始执行的时候发现了一个错误,这里主要是最大连接数量太小了,我们去TDSQL参数那里配置一下即可:

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

这里要注意,因为我们是3个节点,所以每个节点的最大连接数都需要修改,不能只修改读写节点的,修改完这个参数后,我们执行预测试命令

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
通过 DMC 我们可以看到它帮我们建立10个表,每个表中5w条数据
【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
然后我们要进行集群可用性测试了,我们的流程是这样,两台安装了 sysbench 的服务器,一台进行写测试,一台进行读测试,然后我们将手动关闭掉一台读节点,观察集群稳定性,再次期间我们还会重新把移除的节点重新加入集群中,看看是否能正常负载

4.3、可用性监测

  • 第一台 sysbench 服务器执行(要注意这个是可写的host)
sysbench --db-driver=mysql --mysql-host=gz-cynosdbmysql-grp-r3i3tnbl.sql.tencentcdb.com --mysql-port=25742 --mysql-user=root --mysql-password='a.' --mysql-db=abc --events=0 --table-size=50000 --tables=10 --threads=500 --time=300 --percentile=95 --report-interval=1 oltp_write_only run
  • 第二台 sysbench 服务器执行(要注意这个是只读组的host和port)
sysbench --db-driver=mysql --mysql-host=gz-cynosdbmysql-grp-ne3hquxn.sql.tencentcdb.com --mysql-port=25741 --mysql-user=root --mysql-password='a.' --mysql-db=abc --events=0 --table-size=50000 --tables=10 --threads=500 --time=300 --percentile=95 --report-interval=1 oltp_read_only run

run 的时候可能还会出现这个错误:

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
我们也将可预编语句最大值修改一下 max_prepared_stmt_count
【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
两个节点同时运行测试:

  • 写测试
    【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
  • 读测试

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

4.4、观察集群CCU扩缩情况

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

这里因为只读节点还没使用超过 0.5 的CCU,所以没有在进行自动扩缩,不过可以看出读写节点已经开始扩缩了

4.5、观察集群性能的负载均衡情况

  • CPU:

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

  • 内存
    【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
    可以看出,集群在读方面的分流是比较均衡的,每个只读节点承受的压力都差不多

4.6、观察移除1个只读节点负载情况

因为没有办法直接销毁节点,所以这里我选择直接 重启,重启会断开这个实例的所有链接,我们就观察断开的那瞬间流量是否有j进行重新负载

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
这里因为没有销毁,所以我一直在重启,看的效果不是特别明显,但还是能看出大概
【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节
其中整个读测试 err 都是 0,整个服务没有受到一点影响

【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评,1024程序员节

测试总结

最终根据测试结果显示,三个节点的CPU内存利用率都进入安全的可控范围内,性能的增加 CCU 也随之扩容,也体系了自动扩缩特点,当节点异常下线时,系统会自动切换到其他节点,读写依然持续正常;当节点增加时,系统也会自动将读节点进行负载,使得整个系统性能达到平衡。因为整个集群共享同一份数据,所以也未发生数据不一致情况。

总结

希望TDSQL-C Serverless Mysql 可以考虑让用户自己去选择增删只读节点,控制性更强,不过整体体验还是非常高效的!

通过本次测试,我们可以看到TDSQL-C Serverless集群在高并发下的出色表现,即使节点发生故障也能保证服务高可用。它完全实现了无需DBA的理想状态。此外,在使用 TDSQL-C Serverless Mysql 的过程中,我发现它除了高可用很牛逼外,还有很多其它的优点,例如:

  • 性能出色,单节点支持数百万级QPS
  • 存储超大,支持PBPB海量数据量
  • 功能兼容MySQL,无需修改源代码就可以轻松迁移
  • 安全可靠
  • 成本低,按实际使用流量收费,不消费不付费

总而言之,它可以完全释放了DBA的管理成本,是业务系统一个很好的数据库选择方案,大家可以根据自己的业务情况酌情挑选。如大家对文章有疑问请随时指出,我将尽量解答。也欢迎大家一起来讨论 TDSQL-C Serverless Mysql 数据库。文章来源地址https://www.toymoban.com/news/detail-714496.html

到了这里,关于【腾讯云 TDSQL-C Serverless 产品测评】Serverless集群高可用测评的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【腾讯云 TDSQL-C Serverless 产品测评】MySQL 5.7 EOL 后,何去何从?TDSQL-C Serverless 解君愁

      2023 年 10 月 21 日,MySQL 5.7 将达到其生命周期的终点(EOL,End of Life),此后Oracle将不再为MySQL 5.7 提供官方更新、错误修复或安全补丁。自此,MySQL 5.x 版本全部 EOL,拥有官方支持的版本将只有8.x。对于那些仍在使用 MySQL 5.7 的用户来说,这是一个重要的时刻!随着 MySQL 5

    2024年02月07日
    浏览(44)
  • 【腾讯云 TDSQL-C Serverless 产品测评】- 云原生时代的TDSQL-C MySQL数据库技术实践

    “腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless版本,初步的产品体验或针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并发、可靠性等多方面的产品测评。 有幸在CSDN的推广上

    2024年02月11日
    浏览(49)
  • 【腾讯云 TDSQL-C Serverless 产品测评】“橡皮筋“一样的数据库『MySQL高压篇』

    腾讯云TDSQL-C产品测评活动”是由腾讯云联合CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless 版;活动整体包括了技术分享直播及线上答疑、连续三个月做三季的产品体验、产品测评、优质征文活动以及最后的优秀用户线上圆桌对话直播环节

    2024年02月11日
    浏览(36)
  • 【腾讯云 TDSQL-C Serverless 产品体验】TDSQL-C MySQL Serverless最佳实践

    随着云计算技术的不断发展,越来越多的企业开始选择将自己的数据库部署在云上,以更好了的支持企业数字化转型以及业务创新,在这个过程中,很多客户会遇到这样一个问题,业务会存在高峰期和低谷期,同样数据库的访问量也是会存在相应的高峰期和低谷期。 序号 业

    2024年02月07日
    浏览(49)
  • 【腾讯云 TDSQL-C Serverless 产品体验】TDSQL-C MySQL Serverless实践之路

    【腾讯云 TDSQL-C Serverless 产品体验】TDSQL-C MySQL Serverless实践之路 腾讯云TDSQL-C联合CSDN推出了一款云数据库产品测评活动,让我们一起来体验一下。 云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。 云数

    2024年02月08日
    浏览(38)
  • 【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C MySQL Serverless的性能测试

    可以帮助发现性能瓶颈,并及时采取措施来优化数据库性能。 序号 测试方法 描述 1 基准测试(Benchmark Testing) ①. 通过运行预定义的测试项目来测量数据库性能的方法 ②. 基准测试适用于比较不同数据库系统或不同硬件配置的性能 ③. 建议根据实际使用场景来选择最适合的基

    2024年02月08日
    浏览(49)
  • 【腾讯云 TDSQL-C Serverless 产品体验】云函数+TDSQL-C Serverless:体验全栈Serverless的魅力

    最近在学习Serverless架构相关的知识,学习过程中发现一个有趣的现象:无论是教程示例,还是场景实例,Serverless架构中鲜有出现数据库的身影。各类文章所介绍的Serverless架构应用场景中,也几乎都是无需数据库的业务场景。在一些教程文章中,对于一些需要进行数据存储的

    2024年02月07日
    浏览(36)
  • 【腾讯云 TDSQL-C Serverless 产品体验】TDSQL-C MySQL Serverless“随心所欲”的弹性计费

    数据库作为公司软件业务应用中最重要的基础软件之一,在整个IT生态体系中具有举足轻重的作用,随着业务数据量的增大和算力的限制,单台MySQL实例越来越满足不了需求,腾讯云 TDSQL-C Serverless是腾讯云自研的云原生关系型数据库 TDSQL-C MySQL版的无服务器架构版。按实际计算

    2024年02月08日
    浏览(43)
  • 【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C Serverless最佳实践助力企业降本增效

    随着公司的业务快速发展,数据库中的数据量猛增,访问性能也变慢了,单台MySQL实例无法应对和满足大规模数据管理和请求访问,导致数据库性能下降,成为瓶颈。 关系型数据本身就比较容易形成系统瓶颈,无论是从单机存储容量、连接数、处理能力都有限。 当单表的数据

    2024年02月08日
    浏览(46)
  • 【腾讯云 TDSQL-C Serverless 产品体验】| 实战分享

    在当今云计算时代,不同类型的业务对高弹性、高可用性和可扩展性的需求越来越强烈,按需使用资源成为企业所需要的关键功能。为了满足这些需求,云原生数据库的Serverless化已经成为云数据库发展的重要方向之一。 过去,云数据库的发展经历了几个时代。在1.0时代, 主

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包