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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 关系型数据库 MySQL
RDS MySQL 数据库运维简述
从运维的视角,汇总云数据库RDS MySQL使用的避坑指南。文章初版,维护更新,欢迎指点。
798 3
|
2月前
|
SQL 存储 关系型数据库
【MySQL 数据库】11、学习 MySQL 中的【锁】
【MySQL 数据库】11、学习 MySQL 中的【锁】
78 0
|
3月前
|
存储 SQL 关系型数据库
MySQL - 深入理解锁机制和实战场景
MySQL - 深入理解锁机制和实战场景
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
31 0
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
98 0
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】4、MySQL 事务学习
【MySQL 数据库】4、MySQL 事务学习
44 0
|
2月前
|
SQL 存储 关系型数据库
【MySQL 数据库】1、MySQL 的 DDL、DML、DQL 语句
【MySQL 数据库】1、MySQL 的 DDL、DML、DQL 语句
52 0
|
13天前
|
SQL 关系型数据库 MySQL
MySQL环境搭建——“MySQL数据库”
MySQL环境搭建——“MySQL数据库”
|
13天前
|
SQL NoSQL 关系型数据库
初识MySQL数据库——“MySQL数据库”
初识MySQL数据库——“MySQL数据库”
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
31 0

相关产品

  • 云数据库 RDS MySQL 版