10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 36.3 mb
PDF (A4)- 36.3 mb
手册(TGZ)- 235.4 kb
手册(Zip)- 347.1 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

8.5.4优化InnoDB重做日志

考虑以下优化重做日志的指导方针:

  • 让你的重做日志文件变大,甚至像缓冲池.当InnoDB已写满重做日志文件,它必须将修改后的缓冲池内容写入磁盘检查点.小的重做日志文件会导致许多不必要的磁盘写入。虽然以前大的重做日志文件会导致很长的恢复时间,但是现在恢复速度更快了,你可以放心地使用大的重做日志文件。

    重做日志文件的大小和数量使用innodb_log_file_size而且innodb_log_files_in_group配置选项。有关修改现有重做日志文件配置的信息,请参见修改InnoDB重做日志文件的数量或大小

  • 考虑增加的大小日志缓冲区.日志缓冲区越大,日志缓冲区越大交易运行时不需要在事务之前将日志写入磁盘提交.因此,如果您有更新、插入或删除许多行的事务,那么增大日志缓冲区可以节省磁盘I/O。日志缓冲区大小使用innodb_log_buffer_size配置选项。

  • 配置innodb_log_write_ahead_size避免的配置选项read-on-write.这个选项定义重做日志的预写块大小。集innodb_log_write_ahead_size以匹配操作系统或文件系统缓存块大小。当重做日志的预写块大小与操作系统或文件系统缓存块大小不匹配,导致重做日志块没有完全缓存到操作系统或文件系统时,就会发生写时读。

    的有效值innodb_log_write_ahead_size是的倍数InnoDB日志文件块大小(2n).最小值为InnoDB日志文件块大小(512)。当指定了最小值时,不会发生预写。最大值等于innodb_page_size价值。的值innodb_log_write_ahead_size它比innodb_page_size值时,innodb_log_write_ahead_size设置被截断为innodb_page_size价值。

    设置innodb_log_write_ahead_size与操作系统或文件系统缓存块大小相关的值过低会导致读写操作。设置过高的值可能会对fsync由于同时写入几个块,日志文件写入的性能。