默认事务阈值限制导致大批量单事务写入报错,不建议放大全局事务参数,优先拆分事务 + 分批写入,结合 TiDB 特性做规范优化。
滚动升级至第 3 台 TiKV 卡住,因TiKV store 状态异常导致升级中断、组件版本混杂,集群稳定性下降。
集群跨版本升级后 drainer 因端口占用、旧进程残留、版本不兼容、元数据 /checkpoint 异常启动失败,双节点同步中断引发数据延迟与一致性风险。
PD 集群未正常选主、集群 ID 不一致或 TiDB 配置 PD 地址异常,导致 TiDB 无法正常连接 PD,客户端随之断连。
DDL 显示 DONE 但不进入 synced,是部分 TiDB 节点未同步元数据,多由长事务阻塞、节点负载 / 网络异常、PD lease 问题导致。
长导出事务时长超出 GC 保留时间导致任务失败,先临时调大tidb_gc_life_time,配合--rows分片导出提速,完成后恢复原配置,频繁备份建议改用 BR。
TiDB v7.2.0 高 TPS 写入下 TiKV CPU 打满、写入 P99 延迟高,主因是 RocksDB 压缩、锁竞争、事务 / 索引开销叠加,结合 3000 万表 + 8000~10000 TPS、16C64G+NVMe 环境,按「紧急降延迟→定位根因→长期优化」处理。
核心原因是TiDB 统计信息、代价模型和 MySQL 差异大,ANALYZE 无效多是直方图 / 采样问题,并非单纯优化器 bug
TiCDC→MySQL 延迟持续上涨、下游追不上,核心多是:下游 MySQL 写入瓶颈(锁 / 参数 / 能力)、TiCDC 内部攒批 / 内存打满、大事务阻塞、网络或上游 resolved‑ts 推进慢,业务平稳也会因这些 “隐性瓶颈” 卡住。
多线程并发更新同批数据引发行锁竞争、锁等待超时,串行无冲突故正常,TiKV 资源与热点均无异常。
单表报 Region unavailable,因该表部分 Region 副本缺失、Raft 组不可用,集群整体及 TiKV 节点正常。
长时统计查询触发快照过期,是 TiDB GC 回收了查询依赖的旧快照,重连重试会获取新快照即可恢复
TiKV 磁盘占满导致 DML 阻塞、读正常,多为 Raft 日志堆积、MVCC 版本过多或 Compaction 卡死,先清空间止血,再排查副本、GC、压缩任务
1.乐观锁:提交时检查,冲突报错,适合低冲突
2.悲观锁:执行时加锁,冲突等待,适合高冲突
3.金融 / 支付 / 库存 / 热点行 → 悲观锁;普通业务 → 乐观锁
调大 TiDB 传输块大小、提升流并发、扩容队列、关闭服务端流控与串行扫描,即可快速优化 JDBC 结果集推送卡顿。
fetch and wait 高 = TiDB 结果集回传流速跟不上 JDBC 拉取速度,只需调大 chunk 批次、流式并发、流水线队列、关闭服务端流控 四个方向,就能大幅降低结果集等待耗时。可以试试:
SET GLOBAL tidb_max_chunk_size = 512;
SET GLOBAL tidb_init_chunk_size = 128;
SET GLOBAL tidb_distsql_scan_concurrency = 32;
SET GLOBAL tidb_executor_concurrency = 8;
SET GLOBAL pipeline_queue_…
调大扫描 / 执行并发、Chunk 批次、流水线队列,关闭流控与索引串行扫描,扩容查询内存、放宽网络超时,消除流与队列等待。