评分规则

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)