MySQL innodb的group commit失效问题
来源:互联网 发布:超人哲学 知乎 编辑:程序博客网 时间:2024/05/05 16:20
问题:当开启binlog时,导致group commit失效
prepare_commit_mutext
write and fsync binlog
commit
如果一个事务A在commit阶段,可能会持有prepare_commit锁,其他事务将被阻塞,直到获得锁才能写binlog,这样
传统的group commit就被打破了。导致一次事务的提交可能会产生3次fsync,大大降低了系统的性能
解决:http://kristiannielsen.livejournal.com/12810.html
1. prepare阶段,第一次fsync(),对innodb trx log做group commit
2.将事务加入队列,确定提交顺序
3.队列头的事务在获得binlog的控制后,将所有事务写入binlog,并进行第二次fsync,并按顺序运行每个事务的fast part,也就是在内存中操作的部分
4.运行事务提交时的slow part ,第3次fsync。
- MySQL innodb的group commit失效问题
- MySQL/InnoDB和Group Commit(1)
- MySQL/InnoDB和Group Commit(2)
- innodb的group commit的小结
- InnoDB关于group commit的简单QA
- mysql innodb 索引失效问题引起表级锁
- MySQL Group Commit理解
- MySQL Group Commit 笔记
- MySQL binlog group commit--commit stage
- mysql的innodb死锁问题
- Mysql锁的问题(InnoDB)
- Binary Log Group Commit in MySQL 5.6
- MySQL Group Commit 组提交(BLGC)
- MySQL binlog group commit--flush 阶段
- MySQL binlog group commit--sync stage
- MySQL的InnoDB的幻读问题
- MySQL的InnoDB的幻读问题
- MySQL的InnoDB的幻读问题
- #define
- cookie 和session 的区别详解
- 虚拟内存与虚拟存储的区别
- 10 Awesome Examples for Viewing Huge Log Files in Unix
- 以Debug模式启动JBoss (转, 有改动)
- MySQL innodb的group commit失效问题
- 安装ubuntu之后,win7下设置默认系统问题
- 让程序在崩溃时体面的退出之Dump文件
- AODV协议概述
- strcpy strncpy和strlcpy
- 使用WinDbg调试程序
- C语言常用排序全解
- C/C++程序员必须熟练应用的开源项目
- 一个日志类及其实现分析----变参函数及函数对象