首页 > 解决方案 > tidb 的 set[sync-log=false] 有什么区别和影响

问题描述

在 tidb 中,打开时sync-log,disk io util 可以结束90%,之后set sync-log=false,它归结为1%,这个配置有什么不好的影响?

标签: mysqltidb

解决方案


简而言之,sync-log=true保持数据安全,但会损害性能。

TiDB 是基于 Raft 共识算法的,它需要确保每一个 raft 日志在提交之前都被持久化到多数人的磁盘上。为了确保日志被持久化,我们需要两个步骤:

  1. 写(log_fd,日志)
  2. fsync(log_fd)

sync-log=false,TiDB 跳过fsync,它有助于性能,并且在没有断电的情况下是安全的。将其设置为 true,即使出现电源故障,您的数据也始终完好无损。

查看更多:https ://pingcap.com/docs/v3.0/faq/tidb/


推荐阅读