二進制日誌組提交(Binary Log Group Commit)

mysql 5.5 group commit的bug,開啓binary log不能使用組提交,性能差800%,mariadb 5.3實現binary log group commitphp

  • BLGC特性(mariadb 5.三、mysql 5.6)mysql

    • 設置innodb_flush_log_at_trx_commit=1sync_binlog=1,確保數據持久性,crash後恢復到一致性狀態
    • 一次fsync刷新多個併發事務的二進制日誌到磁盤
    • 在commit提交事務時,只須要作兩次fsync操做(以前爲3次,commit階段不須要作fsync),不丟失提交持久性(若是在commit以前發生crash,下次服務重啓時從binlog進行恢復,對比xid信息)
      • mariadb的innodb_flush_log_at_trx_commit=3 會作3次fsync操做,能保證提交事務持久性,可是會形成binlog和innodb的一致性問題
      • innodb_flush_log_at_trx_commit=1 可是sync_binlog=0,不能擔保持久性的,因crash時binlog的事件將丟失
  • 性能壓測對比sql

輸入圖片說明

相關文章
相關標籤/搜索