All Products
Search
Document Center

Database Autonomy Service:Scoring rules

Last Updated:Jun 28, 2023

Database Autonomy Service (DAS) provides the inspection and scoring feature. This feature allows you to inspect and score the health status of your instances on a regular basis. This way, you can learn about the status of the databases. This topic describes the scoring items and scoring rules of the inspection and scoring feature.

Usage notes

  • To view the inspection and scoring results, enable the inspection and scoring feature. For more information, see Inspection and scoring.

  • The inspection and scoring feature scores the health status of your instances based on an initial instance health score of 100. Points are deducted from the instance health score if specific conditions are met. You can view the score of each instance in the console. For more information, see Inspection and scoring.

Scoring rules

  • ApsaraDB RDS for MySQL, self-managed MySQL, and PolarDB for MySQL

    Item

    Description

    Sub-item

    Condition

    Deducted points

    CPU Utilization (cpuUsage)

    The average CPU utilization during a day. If an instance has multiple CPU cores, the system calculates the CPU utilization of each core and then calculates the average CPU utilization of all cores.

    Major

    70%<=cpuUsage<=80%

    1 + (cpuUsage - 0.7) × 20

    Critical

    cpuUsage>=80%

    min[3 + (cpuUsage - 0.8) × 30,10]

    Memory Usage (memUsage)

    The average memory usage during a day.

    Major

    80%<=memUsage<=90%

    1 + (memUsage - 0.8) × 20

    Critical

    memUsage>90%

    min[(memUsage - 0.9) × 50, 10]

    Space Usage (Space Usage)

    Important

    This item is not applicable to self-managed MySQL.

    The storage usage is calculated based on the following formula: Storage usage = Average used storage during a day/Total storage × 100%

    Available days

    availableDays<=30

    15 - availableDays/3

    Number of large tables

    Important

    This item is not applicable to PolarDB for MySQL because PolarDB for MySQL does not perform analysis on large tables.

    bigTableCount>0

    min(bigTableCount,15)

    Connection Usage (connectionRate)

    The connection usage is calculated based on the following formula: Connection usage = Average number of connections during a day/Maximum number of connections allowed at a point in time × 100%

    Major

    70%<=connectionRate<=80%

    1

    Critical

    connectionRate>80%

    3

    IOPS Usage (iopsUsage)

    The IOPS usage is calculated based on the following formula: IOPS usage = Average IOPS during a day/Maximum IOPS allowed × 100%

    Major

    70%<iopsUsage<90%

    3

    Critical

    iopsUsage>90%

    5

    Active Sessions (threadRunning)

    The number of active sessions generated in one day.

    Major

    threadRunning>min(2 × cpuCores + 8,64)

    3

    Critical

    threadRunning>min(4 × cpuCores + 8,96)

    9

    Slow SQL Statements (slowSqlCount)

    The number of slow SQL statements generated in one day.

    Note

    You can click the number to view the five slow SQL statements that are most frequently executed.

    Minor

    0<slowSqlCount<100

    1 + (slowSqlCount - 10)/30

    Major

    100<=slowSqlCount<500

    4 + (slowSqlCount - 100)/30

    Critical

    slowSqlCount>=500

    min[18 + (slowSqlCount - 50)/30, 30)]

    SQL Security Audit (sqlInjectionCount)

    The number of high-risk SQL statements and the number of SQL injection attacks.

    High-risk SQL statements

    riskSqlCount>0

    min(riskSqlCount,5)

    SQL injection

    sqlInjectionCount>0

    min(sqlInjectionCount,5)

    Deadlock

    Indicates whether a deadlock occurs during a day.

    Minor

    Minor

    3

  • ApsaraDB for Redis

    Item

    Description

    Sub-item

    Condition

    Deducted points

    CPU Utilization (cpuUsage)

    The average CPU utilization during a day. If an instance has multiple CPU cores, the system calculates the CPU utilization of each core and then calculates the average CPU utilization of all cores.

    Major

    70%<=cpuUsage<=80%

    1 + (cpuUsage - 0.7) × 20

    Critical

    cpuUsage>=80%

    min[3 + (cpuUsage - 0.8) × 30,10]

    Memory Usage (memUsage)

    The average memory usage during a day.

    Major

    80%<=memUsage<=90%

    1 + (memUsage - 0.8) × 20

    Critical

    memUsage>90%

    min[(memUsage - 0.9) × 50, 10]

    Connection Usage (connectionRate)

    The connection usage is calculated based on the following formula: Connection usage = Average number of connections during a day/Maximum number of connections allowed at a point in time × 100%

    Major

    70%<=connectionRate<=80%

    1

    Critical

    connectionRate>80%

    3

    Traffic Usage (FlowRate)

    The traffic usage is calculated based on the following formula: Traffic usage = Average traffic during a day/Maximum traffic allowed at a point in time × 100%

    Major

    80% <= FlowRate <= 85% (Both inbound traffic and outbound traffic count.)

    1

    Critical

    flowRate>85%

    3

    Critical

    iopsUsage>90%

    5

    Hot Keys (HotKey)

    The information about hot keys appears.

    Minor

    Minor

    3

    Slow SQL Statements (slowSqlCount)

    The total number of slow SQL statements generated in one day. You can click the number to view the five slow SQL statements that are most frequently executed.

    Minor

    0<slowSqlCount<100

    1 + (slowSqlCount - 10)/30

    Major

    100<=slowSqlCount<500

    4 + (slowSqlCount - 100)/30

    Critical

    slowSqlCount>=500

    min[18 + (slowSqlCount - 50)/30, 30)]

    Memory Fragmentation Ratio (HighMemoryFragment)

    The memory fragmentation ratio is calculated based on the following formula: mem_fragmentation_ratio = used_memory_rss/used_memory

    • used_memory_rss: the amount of physical memory that the operating system allocates to Redis. The sizes of memory fragments are counted in this value.

    • used_memory: the amount of memory that Redis requests to store data.

    For more information about memory fragments and the memory fragmentation ratio, see Memory Fragmentation.

    Minor

    HighMemoryFragment>1.5

    min(HighMemoryFragment × 2, 5)