美文网首页
Mysql 5.6常用参数优化

Mysql 5.6常用参数优化

作者: 海陆先生 | 来源:发表于2019-07-17 16:09 被阅读0次

    set global innodb_buffer_pool_size  = 8589934592;  

    默认大小为128M。最大值取决于CPU的架构

    调整为8G。

    大的缓冲池可以减小多次磁盘I/O访问相同的表数据。

    在专用数据库服务器上,可以将缓冲池大小设置为服务器物理内存的80%。


    set global innodb_buffer_pool_instances=1 

    默认值为8

    当innodb_buffer_pool_size > 1G时候,innodb_buffer_pool_instances设置为1最合理。


    set global innodb_flush_neighbors = 0 ; 

    默认值为 1

    InnoDB存储引擎提供了Flush Neighbor Page(刷新邻接页)的特性。其工作原理为:当刷新一个脏页时,InnoDB存储引擎会检测该页所在区(extent)的所有页,如果是脏页,那么一起进行刷新。 

    在SSD存储上应设置为0(禁用) ,因为使用顺序IO没有任何性能收益. 

    在使用RAID的某些硬件上也应该禁用此设置,因为逻辑上连续的块在物理磁盘上并不能保证也是连续的。


    set global innodb_log_file_size = 1073741824;

    默认值48M

    小日志文件使写入速度更慢,崩溃恢复速度更快.

    大日志文件使写入更快,崩溃恢复速度更慢

    由于事务日志相当于一个写缓冲,而小日志文件会很快的被写满,这时候就需要频繁地刷新到硬盘,速度就慢了。如果产生大量的写操作,MySQL可能就不能足够快地刷新数据,那么写性能将会降低。大的日志文件,另一方面,在刷新操作发生之前给你足够的空间来使用。反过来允许InnoDB填充更多的页面。

    对于崩溃恢复 – 大的重做日志意味着在服务器启动前更多的数据需要读取,更多的更改需要重做,这就是为什么崩溃恢复慢了。

    参考设置:https://www.centos.bz/2016/11/innodb_log_file_size-mysql-redo-log-size/

    相关文章

      网友评论

          本文标题:Mysql 5.6常用参数优化

          本文链接:https://www.haomeiwen.com/subject/dorrottx.html