TiDB 默认事务隔离级别是 RC,改成 SI 隔离后,读写性能会下降多少,适合金融对账类业务吗?
性能会降一点,大概 10%-30%,因为要额外保证数据读的时候前后一致,不像 RC 那么随便,金融对账这种业务,完全值得。对账要的是数据绝对准,不能出现“同一笔账两次看不一样”的情况。用 SI 虽然慢一点,但数据更可靠,适合对账。
大量长事务、大批量 DML、高并发热点更新时,SI 版本堆积、GC 压力上升,性能衰减更明显;短事务、普通查询场景差距很小。
TiDB 从默认 RC 改为 SI(快照隔离),高并发读写场景性能下降约 10%~30%(读写冲突越高降幅越大);金融对账业务适合使用 SI,其事务内数据视图稳定、可规避幻读,仅需注意 SI 存在写偏斜问题,核心对账环节可搭配SELECT FOR UPDATE规避风险。
1 个赞
高并发读写场景性能下降约 10%~30%
性能问题建议先看 TiDB Dashboard 的 Top SQL 和慢查询,定位瓶颈在哪一层。常见原因有:热点 Region 没有打散、执行计划不准(analyze table)、或者 TiKV 的 RocksDB 参数没调。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。