在 tidb 中,打开 sync-log
时,disk io util 可以超过 90%
,设置sync-log=false
后,它下降到1%
,这个配置有什么不好的影响?
最佳答案
简而言之,sync-log=true
可保证数据安全,但会损害性能。
TiDB 基于 Raft 共识算法,它需要确保每一个 raft 日志在提交之前会持久保存到大多数磁盘上。使 确保日志持久化,我们需要两个步骤:
- 写(log_fd,日志)
- fsync(log_fd)
当 sync-log=false
时,TiDB 会跳过 fsync
,这有助于提高性能并且在以下情况下是安全的:
没有停电。将其设置为 true,即使在以下情况下,您的数据也始终完好无损:
停电了。
关于mysql - TiDB 的 set[sync-log=false] 有什么区别和影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56680312/