【TiDB 使用环境】生产环境(业务替换 MySQL 分表,日均写入 80w+)
【TiDB 版本】v7.6.0
【操作系统】CentOS7.9
【部署方式】物理机 TiUP 离线部署
【机器硬件明细(共 4 台)】
机器 A/B/C:同配置,24 核 CPU、64G 内存、2 块 NVMe SSD;
机器 D:老服务器,12 核 CPU、32G 内存、普通 SATA SSD,整机性能约另外三台一半。
2 个赞
不用D,或者只在D上部署监控和HA类的软件吧。
1 个赞
D 机器 CPU / 内存 / 磁盘 IO 均短板,TiKV 负载高时成为性能瓶颈、热点拖慢全集群
1 个赞
木桶效应。
放个tidb 监控也可以。
升级前建议先看 release notes,大版本之间有些参数默认值会变。另外生产环境升级建议先在一个 TiKV 节点灰度验证,观察一段时间没问题再全量升级。
1 个赞
3台同规格高配:TiDB + TiKV + PD(2 台带 PD,第 3 台只 TiDB+TiKV)1 台异类低配:只部署 PD + Prometheus + ng-monitoring、不部署 TiKV/TiDB PD 凑 3 副本:2 高配 PD + 1 异类 PD,满足 Raft quorum 高可用;TiKV 全部集中在 3 台同规格服务器。
1 个赞
建议直接去掉D
1 个赞
TiDB 的 Raft 复制与调度依赖所有 TiKV 节点响应一致,低配(如慢盘、小内存、弱 CPU)会导致 Region Leader 切换延迟、写入阻塞、GC 压力升高,甚至引发集群不稳定。必须替换或避免部署 TiKV。
1 个赞
可以上线,靠 Label+Placement 限制 D 机不承接 Leader、只存副本
- TiUP 拓扑给 A/B/C 打
perf:high、D 打perf:low,滚动重启 TiKV - PD 注册标签:
pd-ctl config set replication.location-labels '["perf"]' - SQL 创建放置策略(3 副本:2 高性能 Voter、1 低性能 Learner)并全局绑定
sql
SET GLOBAL tidb_enable_alter_placement=1;
CREATE PLACEMENT POLICY bal
FOLLOWERS=2,CONSTRAINTS='[+perf=high]',LEARNER_CONSTRAINTS='[+perf=low]';
ALTER GLOBAL SET PLACEMENT POLICY bal;
- 调低 D 存储权重:
pd-ctl store <D-store-id> weight 5
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。