位置: 编程技术 - 正文
推荐整理分享innodb_flush_method取值方法(实例讲解),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
innodb_flush_method的几个典型取值
如何取值,mysql官方文档是这么建议的
也就是说,具体的取值跟硬件配置和工作负载相关,最好做一次压测来决定。不过通常来说,linux环境下具有raid控制器和write-back写策略,o_direct是比较好的选择;如果存储介质是SAN,那么使用默认fsync或者osync或许更好一些。
通常来说,貌似绝大部分人都取值o_direct,底层有raid卡,读写策略设置为write-back。在使用sysbench压测oltp类型时,我发现o_direct确实比fsync性能优秀一些,看来适用于大部分场景,但是最近碰到一个这样的sql,客户反馈很慢,而在相同内存的情况下,它自己搭建的云主机执行相对快很多,后来我发现主要就是innodb_flush_method的设置值不同带来的巨大性能差异。
测试场景1
innodb_flush_method为默认值,即fsync,缓存池M,表数据量1.2G,排除缓存池影响,稳定后的结果
测试场景2
innodb_flush_method改为o_direct,排除缓存池影响,稳定后的结果
结果比较:
两者执行计划一摸一样,性能却差距很大。在数据库第一次启动时的查询结果也差距很大,o_direct也差很多(测试结果略)。不是很懂为啥这种情况下多了一层操作系统缓存,读取效率就高了很多,生产环境设置一定要以压测结果为准,实际效果为准,不能盲目信任经验值。
改进措施:
不改变innodb_flush_method的情况下,其实这条sql还可以进一步优化,通过添加组合索引(account_id,outcome,income),使得走覆盖索引扫描,可大大地减少响应时间
以上这篇innodb_flush_method取值方法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
innodb_index_stats导入备份数据时报错表主键冲突的解决方法 故障描述percona5.6,mysqldump全备份,导入备份数据时报错Duplicateentry'hoc_log-item_log_-PRIMARY-n_diff_pfx'forkey'PRIMARY'故障原因查看了下这个主键应该是MySQL系
线上MYSQL同步报错故障处理方法总结(必看篇) 前言在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都G-G,如果用单纯的
浅谈innodb_autoinc_lock_mode的表现形式和选值参考方法 前提条件,percona5.6版本,事务隔离级别为RRmysqlshowcreatetabletest_autoinc_lockG***************************1.row***************************Table:test_autoinc_lockCreateTable:CREATETABL
标签: innodb_flush_method取值方法(实例讲解)
本文链接地址:https://www.jiuchutong.com/biancheng/349959.html 转载请保留说明!上一篇:Mysql GTID Mha配置方法(mysql id in)
下一篇:innodb_index_stats导入备份数据时报错表主键冲突的解决方法
友情链接: 武汉网站建设