5.MySQL优化Optimizing InnoDB Redo Logging

#介绍

优化InnoDB Redo Logging可以考虑以下方法:

  • 确保Redo Logging足够大,最好与buffer pool一样大。当InnoDB将redo log文件写满之后,他必须将buffer pool的数据修改写入到磁盘的 checkpoint中。过小的redo log可能会产生很多不必要的磁盘写入,虽然在以前的版本中大的redo log可能会导致恢复时间变得很长,但现在已经解决这个问题,可以放心的使用大redo log。

    使用innodb_log_file_size 和 innodb_log_files_in_group 配置选项配置redo log文件的大小和数量。

  • 考虑增加缓冲区大小,一个较大的log buffer可以保证在执行大事务提交前不需要将数据写入到磁盘上,所以,加油大量的update、insert或者delete的操作,较大的log buffer可以大大节省磁盘I/O,可以通过参数innodb_log_buffer_size设置log buffer的大小。

  • 配置innodb_log_write_ahead_size参数可以避免 “read-on-write”。此参数决定了重做日志的预写块(write-ahead)大小,innodb_log_write_ahead_size建议根据操作系统或者文件系统的系统缓存块大小进行设置。由于重做日志的预写块大小与操作系统或文件系统高速缓存块大小不匹配,重做日志块未完全高速缓存到操作系统或文件系统时,会发生read-on-write。

    innodb_log_write_ahead_size的大小的有效值应该是日志文件块大小的\(2^n\)。InnoDB文件块大小的最小值为512,当指定最小值时不会发生Write-ahead。而他的最大值是innodb_page_size。当innodb_log_write_ahead_size设置的大小大于innodb_page_size的大小,innodb_log_write_ahead_size会被修改为innodb_page_size的大小。

    innodb_log_write_ahead_size 设置的过小会导致操作系统或者文件系统缓冲块大小发生 read-on-write。这个值设置的过大,可能会对日志的写入性能造成轻微影响(原因是fsync一次写入多个块)。

  • 优化器使用自旋延迟(spin delay)的方式等待redo的刷新。自旋延迟有利于减少延迟。在低并发的时候,减少延迟并没有太大效果,并且在此期间避免使用来减少性能消耗。在高并发期间,您可能希望避免在自旋延迟上消耗处理能力,以便它可以用于其他工作。以下系统变量允许设置高水位值和低水位值,这些值定义了使用自旋延迟的边界。

    • innodb_log_wait_for_flush_spin_hwm:定义最大平均日志刷新时间,超过该时间,用户线程在等待刷新的重做时不再旋转。默认值为400微秒。
    • innodb_log_spin_cpu_abs_lwm:定义在等待刷新重做时用户线程不再旋转的最小CPU使用量。该值表示为CPU核心使用量的总和。例如,默认值80是单个CPU核心的80%。在具有多核处理器的系统上,值150表示100%使用一个CPU核心加50%使用第二个CPU核心。
    • innodb_log_spin_cpu_pct_hwm:定义在等待刷新的重做时用户线程不再旋转的最大CPU使用量。该值表示为所有CPU核心的总处理能力的百分比。默认值为50%。例如,两个CPU内核的100%使用率是具有四个CPU内核的服务器上组合CPU处理能力的50%。
    • 的 innodb_log_spin_cpu_pct_hwm 配置选项方面处理器的亲和性。例如,如果服务器有48个内核但 mysqld进程仅固定为4个CPU内核,则忽略其他44个CPU内核。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值