苏州刘三枪
#1
sync-log、wal-bytes-per-sync、bytes-per-sync
这几个参数到底该怎么李姐,能否明确一下? 每次看到就打脑壳。 如果明确不了,我就按照理解1来进行理解了。这很合理。

理解1:
当设置 sync-log=true,每次写入都要 sync WAL,由 wal-bytes-per-sync 来控制速率,默认为512KB。
当设置 sync-log=false ,WAL 使用异步刷盘,由 bytes-per-sync 来控制速率,默认为1MB。
理解2:
sync-log 只是控制 WAL 日志是同步刷盘还是异步刷盘。
wal-bytes-per-sync 控制 WAL 刷盘速率。
bytes-per-sync 控制 memtable 刷盘速率。
参考:
https://github.com/tikv/tikv/issues/4828
苏州刘三枪
#3
bytes-per-sync 按上面的讲的我觉得不对, 要不然这个参数用来做什么。
这是文档上面2个参数的解释:
bytes-per-sync
- 异步 Sync 限速速率。
- 默认值:1MB
- 最小值:0
- 单位:B|KB|MB|GB
wal-bytes-per-sync
- WAL Sync 限速速率,默认:512KB。
- 默认值:512KB
- 最小值:0
- 单位:B|KB|MB|GB
苏州刘三枪
#5
wal-bytes-per-sync git上面解释这个当设置sync-log为false时,按这个速率刷盘, 相当于异步sync了。
bytes-per-sync 这个参数的解释是异步 Sync 限速速率。
哪个是异步,哪个是同步啊
xfworld
(魔幻之翼)
#6
你的理解1 ,写的是对的阿…
异步刷盘,在极端情况下,还是会丢数据…当然范围很小,哪个issue 中也有这个描述
苏州刘三枪
#7
我也不知道对不对,感觉怪怪的。
bytes-per-sync 等看看有没有人知道这个到底是干啥的。
git 上面的回答和 这2个参数的解释相悖了,要么写文档的挨打,要么git的小伙伴挨打。
苏州刘三枪
Closed
#8
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。