二、 实验:RDS MySQL大促场景下的智能化弹性
首先点击创建资源,过程中会分配一个子账号,在子账号下创建一台ECS,创建一台RDS实例,我们需要在RDS上创建一个名为dbfortest的空数据库,创建高权数据库用户,用于sysbench压测时配置。在ECS上我们通过sysbench命令生成数据,会创建250张表,每张表有1万条数据,然后进行压测。
登录子账号,进入RDS控制台。找到创建的实例,点击实例可以进入详细信息。
点击数据库管理,创建数据库,命名为dbfortest。
点击账号管理,创建高权限账号。
点击自治服务-一键诊断-自治中心-自治功能开关,勾选自动资源弹性,CPU利用率阈值设置为70%,扩容观测窗口设置为3分钟,回缩观测窗口设置为1分钟。
切换到ECS界面,安装sysbench,然后将MySQL host改为RDS的连接地址,port默认为3306,输入刚才创建的用户名和密码,并回车执行此命令。ECS开始创建表,每个表会插入1万条数据,每个表都有二级索引。
完成表的创建以后,执行上图中压测命令进行压测。
几分钟后切换至RDS控制台,CPU打满后进入自治中心查看异常事件。
查看异常快照,可以看到已经列出了相关信息,点击优化可以查看执行计划。
几分钟后,异常事件里出现弹性伸缩事件,点击详情,查看具体内容,同时停止压测。
详细信息如上图所示。
查看扩容后的基本信息,可以看到CPU由原先的1核扩至2核(但不会连续翻倍扩核),最大IOPS由原先的600增加至1600。CPU扩核原则一般为翻倍,每增加1核,IOPS会增加1000。
如果是云盘,可以指定规格和最大规格。打满之后可以持续往上变配,直到达到最大规格。
因为弹性伸缩规则里设置了回缩窗口时间为1分钟。因此,1分钟后当CPU使用率下降后会在DAS异常事件中出现新的弹性伸缩事件,CPU从2核回缩至1核。