Mysql
redolog的刷盘时机
-
mysql正常关闭的时候
-
redolog buffer写入超过一半的时候
-
后台线程每隔一秒写入磁盘一次
- 0 把redolog buffer中的内容刷盘
- 2 把page cache中的内容刷盘
-
事务提交的时候
- 0每次提交事务,redolog留在buffer中不写入磁盘
- 1每次提交事务,redolog写入磁盘
- 2每次提交事务,redolog写入操作系统的文件缓存页面
binlog的刷盘时机
-
0每次提交事务只写到操作系统的文件缓存,交给操作系统合适刷盘
-
1每次提交事务都执行fsync刷盘
-
N,N次提交事务,有一次fsync
Redis
aof
对AOF的写操作实际上不是直接写到磁盘的,而是写到一个内核中的缓冲区的,然后异步地刷新回磁盘
这个刷新策略有三种
- 每次写aof就调用fsync,这个性能太差
- 永远不主动调用fsync,由系统决定何时刷新到磁盘
- 每隔一秒调用一次fsync,这个一秒可以配置
rdb
bgsave 和 save
标签:fsync,redolog,写入,提交,Mysql,磁盘,日志,刷盘 From: https://www.cnblogs.com/DCFV/p/18367947