首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql innodb:innodb_flush_method

mysql innodb:innodb_flush_method
EN

Stack Overflow用户
提问于 2010-05-04 03:47:33
回答 2查看 14.2K关注 0票数 7

在以下链接中

http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_method

它说:这个变量的不同值会对InnoDB性能产生显著的影响。例如,在一些InnoDB数据和日志文件位于SAN上的系统中,发现将innodb_flush_method设置为O_DIRECT可以使简单SELECT语句的性能降低3倍.

为什么O_DIRECT可以减慢select语句的速度?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-04 07:16:05

O_DIRECT绕过操作系统的缓存系统。SAN可能是一个非常快速的存储系统,但通常它将位于网络链接的其他地方,并被代理/隐藏在其他各层后面。通过使用O_DIRECT (它消除了本地缓存),您可以强迫InnoDB每次直接访问存储系统。

票数 7
EN

Stack Overflow用户

发布于 2010-05-26 11:35:45

您确实需要对硬件上的刷新方法进行实验,看看什么最适合您。设置:

innodb_flush_method = O_DIRECT

在戴尔的PERC缓存控制器的RAID 1配置中配置15K RPM SAS驱动器的戴尔2950服务器上,我们的性能提高了15%。我们正在运行Ubuntu9.04股票内核,大部分工作都是mysql使用innodb。你的里程可能会不同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2762697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档