Database Autonomy Service (DAS) scores the health of your database instances on a 100-point scale. Points are deducted when specific conditions are met. This topic describes the scoring items, deduction conditions, and formulas used by the inspection and scoring feature.
Usage notes
-
To view inspection and scoring results, enable the inspection and scoring feature first. For more information, see Inspection and scoring.
-
View scores for 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
Resource utilization
| Item |
Description |
Applies to |
Sub-item |
Condition |
Deducted points |
| CPU utilization (cpuUsage) |
Average CPU utilization during a day. For multi-core instances, the system calculates the utilization of each core and then averages the results. |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
Major |
70% ≤ cpuUsage ≤ 80% |
1 + (cpuUsage − 0.7) × 20 |
| Critical |
cpuUsage ≥ 80% |
min[3 + (cpuUsage − 0.8) × 30, 10] |
| Memory usage (memUsage) |
Average memory usage during a day. |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
Major |
80% ≤ memUsage ≤ 90% |
1 + (memUsage − 0.8) × 20 |
| Critical |
memUsage > 90% |
min[(memUsage − 0.9) × 50, 10] |
| Space usage |
Storage usage = Average used storage during a day / Total storage × 100% |
ApsaraDB RDS for MySQL, PolarDB for MySQL |
Available days |
availableDays ≤ 30 |
15 − availableDays/3 |
| Connection usage (connectionRate) |
Connection usage = Average number of connections during a day / Maximum number of connections allowed × 100% |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
Major |
70% ≤ connectionRate ≤ 80% |
1 |
| Critical |
connectionRate > 80% |
3 |
| IOPS usage (iopsUsage) |
IOPS usage = Average IOPS during a day / Maximum IOPS allowed × 100% |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
Major |
70% < iopsUsage < 90% |
3 |
| Critical |
iopsUsage > 90% |
5 |
Performance
| Item |
Description |
Applies to |
Sub-item |
Condition |
Deducted points |
| Active sessions (threadRunning) |
Number of active sessions generated in one day. |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
Major |
threadRunning > min(2 × cpuCores + 8, 64) |
3 |
| Critical |
threadRunning > min(4 × cpuCores + 8, 96) |
9 |
| Slow SQL statements (slowSqlCount) |
Number of slow SQL statements generated in one day. Click the number to view the five most frequently executed slow SQL statements. |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
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] |
| Large tables |
Number of tables that occupy more than 50 GB of space, including fragments. |
ApsaraDB RDS for MySQL, self-managed MySQL |
— |
bigTableCount > 0 |
min(bigTableCount, 15) |
Security
| Item |
Description |
Applies to |
Sub-item |
Condition |
Deducted points |
| SQL security audit (sqlInjectionCount) |
Number of high-risk SQL statements and SQL injection attacks detected in one day. |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
High-risk SQL statements |
riskSqlCount > 0 |
min(riskSqlCount, 5) |
| SQL injection |
sqlInjectionCount > 0 |
min(sqlInjectionCount, 5) |
Availability
| Item |
Description |
Applies to |
Sub-item |
Condition |
Deducted points |
| Deadlock |
Whether a deadlock occurred during a day. |
ApsaraDB RDS for MySQL, self-managed MySQL, PolarDB for MySQL |
Minor |
A deadlock occurred |
3 |
Redis
Resource utilization
| Item |
Description |
Applies to |
Sub-item |
Condition |
Deducted points |
| CPU utilization (cpuUsage) |
Average CPU utilization during a day. For multi-core instances, the system calculates the utilization of each core and then averages the results. |
Redis |
Major |
70% ≤ cpuUsage ≤ 80% |
1 + (cpuUsage − 0.7) × 20 |
| Critical |
cpuUsage ≥ 80% |
min[3 + (cpuUsage − 0.8) × 30, 10] |
| Memory usage (memUsage) |
Average memory usage during a day. |
Redis |
Major |
80% ≤ memUsage ≤ 90% |
1 + (memUsage − 0.8) × 20 |
| Critical |
memUsage > 90% |
min[(memUsage − 0.9) × 50, 10] |
| Connection usage (connectionRate) |
Connection usage = Average number of connections during a day / Maximum number of connections allowed × 100% |
Redis |
Major |
70% ≤ connectionRate ≤ 80% |
1 |
| Critical |
connectionRate > 80% |
3 |
| Traffic usage (FlowRate) |
Traffic usage = Average traffic during a day / Maximum traffic allowed × 100%. Both inbound and outbound traffic count. |
Redis |
Major |
80% ≤ FlowRate ≤ 85% |
1 |
| Critical |
FlowRate > 85% |
3 |
Availability
| Item |
Description |
Applies to |
Sub-item |
Condition |
Deducted points |
| Hot keys (HotKey) |
Hot key information is detected. |
Redis |
Minor |
Hot keys detected |
3 |
| Memory fragmentation ratio (HighMemoryFragment) |
mem_fragmentation_ratio = used_memory_rss / used_memory, where used_memory_rss is the physical memory the operating system allocates to Redis (including memory fragments), and used_memory is the memory Redis requests to store data. For more information, see Memory fragmentation. |
Redis |
Minor |
HighMemoryFragment > 1.5 |
min(HighMemoryFragment × 2, 5) |