以前做 Oracle、MySQL 单机库的时候,判断瓶颈很直接:CPU 跑满、内存打满、IO wait 飙升、等待事件扎堆,基本就能确认数据库到瓶颈了。但迁到 TiDB 分布式架构之后,发现这套老方法论有点失灵了,主要卡在两个点:
- 单节点指标很容易“谎报军情”:某台 TiDB 的 CPU 飙到 70%+,可能只是运维手工跑了个统计查询,集群整体其实还远没到瓶颈;反过来,所有节点 CPU 都很低,业务侧却可能已经出现明显延迟。
- 组件太多,很难全局判断:TiDB、TiKV、PD 各有一套指标,Grafana 面板密密麻麻,日常巡检到底该盯哪几个,才能一眼看出“集群整体是不是真到了瓶颈”?
想请教大家三个问题
- 日常判断集群是否存在性能瓶颈,你们最核心看哪些指标?
- 哪些指标你们会配成核心告警?(除了节点宕机、磁盘满这种硬件级告警,性能瓶颈类的告警大家一般怎么配?单节点 CPU / 内存使用率还会作为核心告警吗?)
- 告警阈值是统一标准,还是按集群业务属性单独调?
感谢各位前辈指点!期待实战经验分享,一起提升 TiDB 集群的“健康感知力” ![]()