innodb_flush_method带来的性能影响

innodb_flush_method有三个值,分别是fdatasync,O_DSYNC和O_DIRECT,其中fdatasync是默认值。它们控制了InnoDB刷新日志和数据的模式。

fdatasync:

InnoDB使用fsync()函数去更新日志和数据文件。

fdatasync

O_DSYNC:

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

o_dsync

O_DIRECT:

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

o_direct

以上图测试的是insert效率。横坐标为unix时间戳,纵坐标为十秒内insert的执行量。

从上面的对比可以看出,单纯从写入的角度讲,默认的fdatasync性能最佳,其次是O_DSYNC,最差的是O_DIRECT。

觉得文章有用?立即: 和朋友一起 共学习 共进步!

猜您喜欢

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>