Ubuntu MariaDB 性能监控实操指南
一 内置数据库指标与日志
二 操作系统与网络资源监控
三 第三方监控与可视化
四 关键指标与告警阈值建议
| 指标 | 含义 | 告警阈值建议 | 排查方向 |
|---|---|---|---|
| Threads_connected / Max_used_connections | 当前/历史最大连接数 | 接近或达到 max_connections | 连接泄漏、应用未复用连接、调整连接池 |
| Slow_queries | 慢查询累计 | 持续增长或突增 | 开启并分析慢查询日志、加索引、改写 SQL |
| Innodb_buffer_pool_reads / Innodb_buffer_pool_read_requests | 缓冲池未命中/总读 | 命中率 < 95% | 增大 innodb_buffer_pool_size、优化热表与索引 |
| Questions / Queries | 请求总量与总语句 | 与业务预期偏差大 | 应用异常重试、语句风暴 |
| Created_tmp_disk_tables / Created_tmp_tables | 磁盘/内存临时表 | 磁盘临时表比例高 | 优化 GROUP BY/ORDER BY、增加 tmp_table_size |
| Handler_read_rnd_next | 全表扫描次数 | 持续偏高 | 增加合适索引、改写查询 |
| Select_scan | 全表扫描语句数 | 持续偏高 | 同上 |
| Table_locks_waited / Table_locks_immediate | 表锁等待/立即 | 等待显著 | 行级锁/事务设计、降低锁粒度 |
| Aborted_clients / Aborted_connects | 异常断开 | 持续增长 | 网络不稳、超时设置、认证失败 |
| Disk %util、await(iostat) | 磁盘利用率与等待 | %util≈100% 或 await 高 | 磁盘瓶颈、升级 IOPS、优化 I/O 模式 |
| vmstat wa | I/O 等待占比 | 持续偏高 | 同上 |
| ss 中 TIME_WAIT/ESTABLISHED | 连接状态分布 | TIME_WAIT 过多 | 调整内核 tcp_tw_reuse/tcp_fin_timeout、连接复用 |
| error.log 错误/告警 | 服务异常 | 出现 ERROR/WARNING | 按错误定位(权限、磁盘满、复制中断等) |
| 说明:阈值需结合业务与基线动态调整,建议以历史 P95/P99 为参考。 |
五 快速排障流程