RDS MySQL大促场景下的智能化弹性

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: RDS MySQL支持通过数据库代理实现读写分离,通过DAS实现智能化伸缩控制,适配高流量、高并发的大促场景。

RDS MySQL大促场景下的智能化弹性

1. 选择实验资源

在实验开始前,请您选择其中一种实验资源,单击确认开启实验。

说明:

如果您选择的是开通免费试用,下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。

说明:

阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心

2. 创建资源

如果您已创建云服务器ECS、云数据库RDS,请您选择个人账户资源,并跳过本小节,直接进行实验操作即可。

如果您已创建云服务器ECS、云数据库RDS,请您选择个人账户资源,并跳过本小节,直接进行实验操作即可。

本步骤仅作为参考使用,您可以根据需求自行选择配置。

如果您选择的是开通免费试用,参考以下步骤云服务器ECS、云数据库RDS。

在本实验页面下方卡片会展示本实验支持的试用规格,依次选择一个试用规格,单击立即试用。

在云服务器ECS试用开通页面,根据页面引导进行开通云服务器ECS,其中操作系统选择CentOS 7.8 64位,地域需要与云数据库RDS MySQL Serverless在同一地域下,其他配置根据您的需求自行选择即可。在云数据库RDS MySQL Serverless试用开通页面,根据页面引导进行开通云数据库RDS MySQL Serverless,其中数据库类型选择MySQL,数据库版本号选择5.7,地域需要与云服务器ECS在同一地域下,其他配置根据您的需求自行选择即可。

如果您选择的是个人账户资源,参考以下步骤云服务器ECS、云数据库RDS和数据传输服务DTS。

创建云服务器ECS。

,在概览页面的我的资源区域,单击创建实例。云服务器ECS控制台前往在云服务器ECS购买页面,根据页面引导进行开通云服务器ECS,其中操作系统选择CentOS 7.8 64位,地域需要与云数据库RDS MySQL Serverless在同一地域下,其他配置根据您的需求自行选择即可。

创建云数据库RDS MySQL Serverless。

云数据库RDS创建页面前往在云数据库RDS创建页面,根据页面引导进行开通云数据库RDS MySQL Serverless,其中数据库类型选择MySQL,数据库版本号选择5.7,地域需要与云服务器ECS在同一地域下,其他配置根据您的需求自行选择即可。

3. 安装压测工具,准备模拟数据

您需要在ECS上安装压测工具,并准备模拟数据。本案例以8 vCPU 16 GiB规格的ECS实例为例。

1. 登录ECS。

1)登录ECS控制台,左侧菜单选择实例,点击开通的实例ID名称。

2)单击远程连接。

3)可选择Workbench远程连接方式,单击立即登录。

在ECS上执行如下命令,完成压测工具SysBench的安装。

安装Sysbench。

yum install sysbench

执行如下命令配置SysBench Client,使内核可以使用所有的CPU处理数据包(默认设置为使用2个CPU),同时减少CPU之间的上下文切换。

sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo f>$x/rps_cpus; done'
sudo sh -c 'echo 32768 > /proc/sys/net/core/rps_sock_flow_entries'
sudo sh -c 'echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt'

说明:ff表示使用8个CPU(1个f表示4个CPU)。请根据实际配置修改,例如本案例中ECS为4核CPU,因此输入f。

,在RDS MySQL中创建一个名为dbfortest的空数据库。RDS 控制台

在ECS中,执行如下命令,准备压测数据。

sysbench --db-driver=mysql --mysql-host=xxx --mysql-port=xxx --mysql-user=xxx --mysql-password=****** --mysql-db=dbfortest --table_size=10000 --tables=250 --report-interval=1 --events=0  oltp_read_write prepare

涉及到的参数说明如下:

参数

说明

mysql-user

RDS MySQL实例账号。该账号需关联dbfortest数据库。

mysql-password

RDS MySQL实例账号对应的密码。

mysql-host

RDS MySQL实例连接地址。

可进入实例的数据库连接页面获取(申请外网)。

mysql-port

RDS MySQL实例连接端口。

可进入实例的数据库连接页面获取。

该命令会自动在RDS MySQL预先创建的dbfortest数据库中创建N个名为sbtest1、sbtest2……sbtestN的表(N为tables参数指定的表数量),其表结构如下,供您了解:

CREATE TABLE `sbtestN` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `k` int(11) NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_100` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=25001 DEFAULT CHARSET=utf8

4. 开启自动性能扩展

您可为RDS MySQL实例开启自动性能扩展功能,实现资源智能化的扩容和缩容。

说明:

为了防止智能化自动扩缩失败,生产中请在账户中留有一定余额。RDS自动扩展期间会有5-30s闪断。为了安全起见,自动扩展后,需要自主进行回缩操作(可在设置自动扩展时,同步设置消息订阅通知),自动回缩功能即将上线。

,点击实例ID进入实例详情页。RDS 控制台登录在左侧导航栏中,单击自治服务>性能趋势。单击右侧自治功能开关。在自治中心开关对话框中,将自动性能扩展设置成开启状态,并配置其他参数,设置智能资源扩缩监控条件。

5. 模拟压测

本步骤需要在ECS控制台中,登录ECS实例,运行相关命令,使用压测工具SysBench模拟流量注入。

执行如下命令,运行压测程序。

sysbench --db-driver=mysql --mysql-host=xxx --mysql-port=3306 --mysql-user=xxx --mysql-password=****** --mysql-db=dbfortest --table_size=10000 --tables=250 --events=0 --time=3600   --threads=64 --percentile=95 --report-interval=1 --db-ps-mode=disable oltp_read_write run

需要设置的参数说明如下:

参数

说明

mysql-host

RDS MySQL实例连接地址。可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。可进入实例的数据库连接页面获取。

mysql-user

RDS MySQL实例账号,该账号需关联dbfortest数据库。

mysql-password

RDS MySQL实例账号对应的密码。

进入RDS MySQL实例的监控与报警页面,观察资源使用情况,等待触发条件达成。

6. 查看智能化弹性效果

本步骤需要在RDS 控制台中评估RDS MySQL的弹性效果。

前往 一键诊断 > 自治中心,勾选弹性伸缩事件,开启自动刷新。观察近1小时的CPU变化以及是否有弹性伸缩事件发生。RDS 控制台登录

查看事件具体内容,关注如下四个结果:

原规格推荐规格执行状态相关信息

打开实例基本信息页,查看实例规格升级结果。

至此,您通过RDS MySQL以及DAS的数据库产品组合,已经实现了数据库的弹性智能化,可以帮助您更好的应对高并发、高负载下的潮汐,以及实现IT资源成本最优利用率。

实验链接:https://developer.aliyun.com/adc/scenario/a321d319732c4432a676007ea3ff06f3

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
安全 关系型数据库 MySQL
MySQL数据库高效秘籍:10个小技巧,让你轻松应对各种场景!
【8月更文挑战第25天】本文介绍了十个提升MySQL数据库效率与安全性的实用技巧。涵盖查询性能分析、索引优化、慢查询日志利用、图形化工具如MySQL Workbench的应用、性能分析工具、主从复制实现、备份与恢复策略、数据库迁移方法及安全性保障等多个方面。通过具体的示例代码展示每个技巧的实际操作方式,帮助读者深入理解并有效运用MySQL数据库。
312 0
|
3月前
|
存储 关系型数据库 MySQL
MySQL在企业内部应用场景有哪些
【10月更文挑战第17天】MySQL在企业内部应用场景有哪些
152 0
|
3月前
|
存储 关系型数据库 MySQL
介绍一下MySQL的一些应用场景
【10月更文挑战第17天】介绍一下MySQL的一些应用场景
577 0
|
4天前
|
移动开发 监控 关系型数据库
使用云数据库RDS和低代码开发平台“魔笔”,高效构建门户网站,完成任务领智能台灯!
使用云数据库RDS和低代码开发平台“魔笔”,高效构建门户网站,完成任务领智能台灯!
|
1月前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
227 2
|
4月前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
608 15
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
3月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
124 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
3月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
166 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
3月前
|
数据可视化 关系型数据库 MySQL
【IDEA】配置mysql环境并创建mysql数据库
【IDEA】配置mysql环境并创建mysql数据库
369 0

相关产品

  • 云数据库 RDS MySQL 版
  • 云数据库 RDS
  • 推荐镜像

    更多