DAS支持巡检评分功能,可以对目标实例进行定期巡检并给出健康评分,帮助您清楚地了解数据库运行情况。本文介绍巡检评分的评分项及评分规则。
注意事项
评分规则表
RDS MySQL、自建MySQL和PolarDB MySQL版:
扣分项
含义
扣分子项
条件
所扣分数
CPU使用率(cpuUsage)
一天CPU平均使用率,多核CPU换算成单核计算。
警告
70%<=cpuUsage<=80%
1+(cpuUsage-0.7)*20
危险
cpuUsage>=80%
min[3+(cpuUsage-0.8)*30,10]
内存使用率(memUsage)
一天内存平均使用率。
警告
80%<=memUsage<=90%
1+(memUsage-0.8)*20
危险
memUsage>90%
min[(memUsage-0.9)*50, 10]
空间使用率(Space Usage)
重要自建MySQL不支持空间使用率扣分项。
已使用空间的平均值 / 总空间 * 100%。
可使用天数
availableDays<=30
15-availableDays/3
大表数量
重要PolarDB MySQL版不进行大表分析,不支持此扣分项。
bigTableCount>0
min(bigTableCount,15)
连接使用率(connectionRate)
一天内连接数平均值 / 最大允许连接数 。
警告
70%<=connectionRate<=80%
1
危险
connectionRate>80%
3
IOPS使用率(iopsUsage)
一天内IOPS平均值 /最大允许IOPS值* 100%。
警告
70%<iopsUsage<90%
3
危险
iopsUsage>90%
5
活跃会话(threadRunning)
一天内产生的活跃会话的个数。
警告
threadRunning>min(2*cpuCores+8,64)
3
危险
threadRunning>min(4*cpuCores+8,96)
9
慢SQL数量(slowSqlCount)
一天内产生的慢SQL总条数。
说明单击后可查看执行次数Top5的慢SQL。
存在
0<slowSqlCount<100
1+(slowSqlCount-10)/30
警告
100<=slowSqlCount<500
4+(slowSqlCount-100)/30
危险
slowSqlCount>=500
min[18+(slowSqlCount-50)/30, 30)]
SQL安全审计(sqlInjectionCount)
风险SQL数量和SQL注入数量。
风险SQL
riskSqlCount>0
min(riskSqlCount,5)
SQL注入
sqlInjectionCount>0
min(sqlInjectionCount,5)
死锁
是否在一天时间内发生死锁。
存在
存在
3
Redis:
扣分项
含义
扣分子项
条件
扣分公式
CPU使用率(cpuUsage)
一天CPU平均使用率,多核CPU换算成单核计算。
警告
70%<=cpuUsage<=80%
1+(cpuUsage-0.7)*20
危险
cpuUsage>=80%
min[3+(cpuUsage-0.8)*30,10]
内存使用率(memUsage)
一天内存平均使用率。
警告
80%<=memUsage<=90%
1+(memUsage-0.8)*20
危险
memUsage>90%
min[(memUsage-0.9)*50, 10]
连接使用率(connectionRate)
一天内连接数平均值 / 最大允许连接数 * 100%。
警告
70%<=connectionRate<=80%
1
危险
connectionRate>80%
3
流量使用率(FlowRate)
一天内流量的平均数/最大流量 * 100%。
警告
80%<=FlowRate<=85%(包含inFlow和outFlow)
1
危险
flowRate>85%
3
危险
iopsUsage>90%
5
热键(HotKey)
出现HotKey的信息。
存在
存在
3
慢SQL数量(slowSqlCount)
一天内产生的慢SQL总条数,单击后可查看执行次数Top5的慢SQL。
存在
0<slowSqlCount<100
1+(slowSqlCount-10)/30
警告
100<=slowSqlCount<500
4+(slowSqlCount-100)/30
危险
slowSqlCount>=500
min[18+(slowSqlCount-50)/30, 30)]
内存碎片率(HighMemoryFragment)
内存碎片率的计算方式为:mem_fragmentation_ratio=used_memory_rss/used_memory
used_memory_rss ,表示操作系统实际分配给Redis的物理内存空间,里面包含了内存碎片。
used_memory,表示Redis为了保存数据实际申请使用的内存空间。
Redis内存碎片和Redis内存碎片率的更多信息,请参见Redis内存碎片。
存在
HighMemoryFragment>1.5
min(HighMemoryFragment*2, 5)