当前位置: 移动技术网 > IT编程>数据库>Mysql > 基于MySQL INNODB的优化技巧

基于MySQL INNODB的优化技巧

2019年02月17日  | 移动技术网IT编程  | 我要评论

背景

​ 回顾人们在开始工作之前,都会问自己这样一个问题:给你一台16g内存的innodb专用数据库服务器,如何配置才能让其稳定、高效地给典型的web应用提供服务?

硬件

内存:内存对于innodb数据库至关重要!16-32g内存

cpu:虽然cpu配置依赖于应用,但一般来说,就cpu来说,2*dual core cpus已是非常好的配置,若使用two quad core cpus 会增加一些扩展性的问题。

硬盘:一般来说,硬盘需要使用6-8个硬盘做成一个raid就足够了。raid10比raid5的效果要好。

软件

操作系统

  • 操作系统采用64位的,切勿在64位的机器上使用32位的操作系统。
  • linux操作系统使用lvm将更高效
  • 大多数情况下ext3文件系统就足够了,但一些特殊项目中会使用xfs文件系统。
  • 如果使用参数innodb_file_per_table,虽然作用很小,还是建议使用选项noatime和nodiratime。
  • 确保swap充足

mysql数据库设置

innodb_buffer_pool_size :70-80%可用内存。

innodb_log_file_size :取决于您的恢复速度需求,一般来说256m已经足够。
innodb_log_buffer_size :4m能满足大多数情景,若使用很多大字段需适当增加该值,目前看到的状况8m即可。

innodb_flush_log_at_trx_commit=2 :若不关心事物的acid特性的话,在系统崩溃时,设置这个值可以在1~2秒中释放事务。特别是在有较多短连接的情况下,该参数尤为重要。
innodb_thread_concurrency=8:即使当前的innodb可扩展性修复具有有限的并发性也有帮助。8这个数据能满足大多数情况,但实际运用起来可能比这个值大也有可能比这个值小。
innodb_flush_method=o_direct :大多数情况下可提高性能,但没有raid的话,会影响写速度。

参考文献

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网