binlog影响性能的相关参数-组提交

binlog_group_commit_sync_delay/binlog_group_commit_sync_no_delay_count

在高并发的系统中sync_delay相当于是个保底值,最大值1s 如果把no_delay_count设置为10时就是当一个事务刷盘时等待的最大事务数是10,生产建议两个参数都进行设置
如果只设置了sync_delay=1s在比较快的磁盘相当于手动制造了慢查询

sync_binlog
sync_binlog=0 的时候,表示每次提交事务都只write,不 fsync;
sync_binlog=1的时候,表示每次提交事务都会执行fsync;
sync_binlog=N(N>1) 的时候,表示每次提交事务都write,但累积N个事务后才 fsync。

sync_binlog=10 与 binlog_group_commit_sync_delay=10ms binlog_group_commit_sync_no_delay_count=10区别
都是10组提交一次,组提交好处用上面的好处是不丢数据,
sync_binlog,用它的逻辑是虽然也等十个再刷,但是,比如写到五个,这个时候,这五个还没有刷,但是告诉客户端,已经提交成功了。这个时候如果掉电是会丢数数是会丢丢数据了,因为日志没了.
虽然组提交也是等但是不会告诉客户端提交成功,掉电就不会丢数据,失败了会进行回滚

posted @ 2025-06-24 15:30  白日梦不要钱  阅读(58)  评论(0)    收藏  举报