IT技术博客大学习 共学习 共进步

innodb_flush_method带来的性能影响

DBA@Taobao 2009-10-18 23:11:30 浏览 4,204 次

    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。

建议继续学习

  1. Xvfb+YSlow+ShowSlow搭建前端性能测试框架 (阅读 55,344)
  2. Go Reflect 性能 (阅读 13,667)
  3. 30分钟3300%性能提升――python+memcached网页优化小记 (阅读 13,583)
  4. 长连接(KeepAlive)在 http 连接中的性能影响 (阅读 8,585)
  5. 服务器性能测试工具推荐 (阅读 7,904)
  6. SQL vs NoSQL:数据库并发写入性能比拼 (阅读 7,883)
  7. WEB性能测试工具推荐 (阅读 6,945)
  8. 分析进程内存分配情况,解决程序性能问题 (阅读 6,686)
  9. 由12306.cn谈谈网站性能技术 (阅读 6,206)
  10. [调优] Squid 不同版本的性能对比 (阅读 5,463)