innodb_flush_method带来的性能影响
作者:陶方 | 【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】
地址:http://rdc.taobao.com/blog/dba/html/296_innodb_flush_method_performance.html
地址:http://rdc.taobao.com/blog/dba/html/296_innodb_flush_method_performance.html
innodb_flush_method有三个值,分别是fdatasync,O_DSYNC和O_DIRECT,其中fdatasync是默认值。它们控制了InnoDB刷新日志和数据的模式。
fdatasync:
InnoDB使用fsync()函数去更新日志和数据文件。

O_DSYNC:
InnoDB使用O_SYNC模式打开并更新日志文件,用fsync()函数去更新数据文件。

O_DIRECT:
InnoDB使用O_DIRECT模式打开数据文件,用fsync()函数去更新日志和数据文件。

以上图测试的是insert效率。横坐标为unix时间戳,纵坐标为十秒内insert的执行量。
从上面的对比可以看出,单纯从写入的角度讲,默认的fdatasync性能最佳,其次是O_DSYNC,最差的是O_DIRECT。
--EOF--
Trackback:http://rdc.taobao.com/blog/dba/html/296_innodb_flush_method_performance.html/trackback