一.給leader進(jìn)程帶來了不公平
成都創(chuàng)新互聯(lián)公司公司2013年成立,先為樺南等服務(wù)建站,樺南等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為樺南企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
二.兼顧redo和binlog順序的對(duì)應(yīng)
三.事務(wù)redo與binlog的寫流程與fsync時(shí)機(jī)(沒有引進(jìn)組提交時(shí)的流程)
四.為什么要組提交?(簡單組提交下的弊病,硬件資源速度的不一致性,帶來的優(yōu)勢)
將Binlog寫入內(nèi)存,(好像沒有Binlog buffer的說法,直接寫入內(nèi)存,內(nèi)存寫入條帶文件)。
binlog_group_commit_sync_delay 應(yīng)該是用來控制leader進(jìn)度的,也就是發(fā)車間隔時(shí)間。這個(gè)是導(dǎo)致leader不公平的主要原因。單位微妙。微妙級(jí)別的話,相對(duì)于刷盤的時(shí)間,leader的不公平看起來微乎其微。
sync_binlog的含義就變了,假定設(shè)為1000,表示的不是1000個(gè)事務(wù)后做一次fsync,而是1000個(gè)事務(wù)組。默認(rèn)1的話就是,1個(gè)事務(wù)組提交一次fsync Binlog
也就是說,比如, 1-1000個(gè)事務(wù),前面999個(gè)都沒有sync,默認(rèn)是sync成功的。第1000個(gè)事務(wù)時(shí)進(jìn)行真正的binlog sync 。若中間掛了,沒有sync成功,那么1-1000事務(wù)的binlog 都沒有被記錄
在讀寫IO相對(duì)于內(nèi)存的速度有很大差距的情況下,把單次離散寫,合并成批量連續(xù)寫。硬盤的尋道時(shí)間要比順序?qū)懹脖P的時(shí)間要慢很多。盡量少尋道,也是一種思路
阿里月報(bào) 201501
https://www.kancloud.cn/taobaoMySQL/monthly/67157
官方手冊(cè)
https://dev.mysql.com/doc/refman/5.7/en/replication-options-reference.html
姜承堯
《Innodb存儲(chǔ)引擎 P322》
fb關(guān)于組提交的文章 發(fā)布時(shí)間:2010 年 10 月 7 日 周四 02:16
https://www.facebook.com/notes/mysql-at-facebook/group-commit/438641125932/
沒有精力