接上篇:
空间碎片自动回收是DAS进行空间优化的一种方式,实例会自动执行优化命令回收空间碎片,帮助用户实现整理物理碎片的功能。在空间优化前,DAS需要完成三大类基本检查:
第一类,当检测到以下一项或多项没有通过时,就不再对表空间进行回收。其一,剩余可用空间需要达到所需回收表物理空间的3倍;其二,表上不存在浮点型索引。
第二类,当检测到其中一项没有通过时,需要等待1到5分钟再次检查,直至运维窗口结束。其一,目标实例没有备份任务;其二,没有正在执行的表结构变更操作;其三,前一天或上周同一时段CPU实际使用率低于70%,且当前CPU使用率低于80%。
第三类,在执行碎片自动回收前应检测以下三个方面。其一,需要空间回收的表上没有执行时间超过3秒的SQL;其二,表上没有悬挂的事务,即持有但超过15秒没有提交的事务;其三,活跃会话数小于64。
空间碎片自动优化时,首先将进行空间分析,生成优化任务,在运维窗口进行条件检查后,执行碎片优化。
用户选择实例,点击自治中心并开启自治功能。
开启自治功能包含以下四个选项:
第一,自动索引创建和删除。SQL自动优化功能包含两个选项,仅SQL诊断或SQL诊断并自动索引创建。仅SQL诊断中,DAS检测出需要优化的SQL并将优化建议给提供给客户,客户根据自身情况选择是否进行索引的创建;SQL诊断并自动创建索引默认由DAS进行诊断并自动创建索引。
第二,自动限流。SQL自动限流又包含四个细分选项:其一,CPU使用率或会话活跃数,测试中,用户选择CPU使用率大于80%且活跃会话数大于60%时触发自动SQL限流;其二,可限流的时间段,用户选择全天限流;其三,最大限流时间及限流持续时间,用户选择最大限流时间为10分钟,限流持续时间大于2分钟;其四,同时Kill执行中的异常SQL,用户选择勾选。
第三,自动资源弹性。用户选择CPU平均使用率不小于90%,当CPU使用率较高时,系统自动进行资源弹性扩容。
第四,空间碎片自动回收,包含表空间和碎片率参数选择。表空间触发空间碎片自动回收的单个物理表最小空间取值范围是5G到100G,单表空间过大会导致回收时间较长,用户需要根据实际业务情况选择合适的数值。如果数据库实例上所有的表空间均小于5G或表空间均大于100G,系统不会进行空间碎片回收。
碎片率触发空间碎片自动回收的单个物理表碎片率取值范围是10%到99%,如果数据库实例上所有表的碎片率均低于10%,系统不会进行空间碎片回收。
测试中,用户选择表空间大于10G,碎片率大于20%时,触发空间碎片自动回收。
用户还可以进行事件订阅设置,将上述触发的SQL优化、SQL限流或空间碎片回收事件发送给相关人员。
用户可以定义事件紧急程度,选择严重或警告等。用户选择相关联系人后,可以通过手机、钉钉短信或邮件方式进行通知。
自治中心优化事件的具体实例中,以空间优化为例,系统在表上给出相应的建议,如索引重复、删除冗余索引等。其优化建议仅进行SQL诊断,没有进行自动索引创建,只显示诊断的结果和建议。