- 论坛徽章:
- 0
|
本帖最后由 hunter_search 于 2012-04-21 11:33 编辑
楼主,很无私!
有个地方不是稍微修改一下,会对新人的理解会好一些吧
innodb_flush_log_at_trx_commit
0: master线程中每秒flush事务日志,但每次事务提交的时候不会触发flush事务日志动作
1: master线程中每秒flush事务日志,但每次事务提交都会触发flash事务日志动作,但flush的io方式是同步的,必须写到磁盘
2: master线程中每秒flush事务日志,但每次事务提交都会触发flash事务日志动作,但flush的io方式是非同步的, 应该写入pagecache了
借楼主的位置,也说一下innodb_flush_method对性能的重大影响!
三种方式fdatasync[默认配置] o_dsync ,o_direct,
Open log Flush log Open datafile Flush data
Fdatasync fsync() fsync()
O_DSYNC O_SYNC fsync()
O_DIRECT Fsync() O_DIRECT Fsync()
在centos5.5 2.6.18-194 ext3文件系统默认配置情况下
O_DSYNC的写入效率非常低,
根结在于kernel和文件系统对于O_SYNC的实现[不同文件系统和不同的kernel可能实现不太一致],
|
|