• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

配置并使用Redo Log Buffer

mysql 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

当buffer cache中的数据块被修改后,服务器进程生成redo数据并写入到redo log buffer中。当满足以下条件时,LGWR会将redo log bu

当buffer cache中的数据块被修改后,服务器进程生成redo数据并写入到redo log buffer中。当满足以下条件时,LGWR会将redo log buffer中的条目开始写入在线重做日志:
–redo log buffer满1/3.
–每3秒超时(Timeout).
–log_buffer中的数据到达1M.
–事务提交时.

当LGWR将redo log buffer中的重做条目写入到在线重做日志文件或磁盘后,用户进程就可以复制新的条目到redo log buffer,以覆盖内存中被写入到磁盘的条目。LGWR写入速度通常很快,足以确保缓冲区的空间总可以写入新条目,,即使在对重做日志的访问很频繁时也是如此。

如果我们的系统拥有快速处理器和I/O相对较慢的磁盘,处理器可能会填满缓存区的其余空间,这时会促使LGWR移动缓冲区的部分数据到磁盘。在这种情况下,较大的日志缓冲区能够临时掩盖较慢磁盘对系统带来的影响。你这可做下面的选择:
–提升checkpoint或归档进程
–提升LGWR性能(也许你可以将所有的在线重做日志放置到速度更快的裸设备)

合理使用redo log buffer:
–执行批量操作时使用批量提交,以至LGWR能够更高效的写入重做条目到在线重做日志文件中。
–当加载大量数据时,使用nologging操作。



设置Log Buffer
redo log buffer由初始化参数LOG_BUFFER决定,修改该参数需要重启实例。
适当的redo log buffer参数值能够明显的提升系统吞吐量,尤其对于插入,更新,删除大数据量的系统。
默认的log buffer值:MAX(0.5M,(128K*number of cpus)),通常默认值是足够的。
增加log buffer的值对系统性能或可恢复性不会产生负面影响,而仅仅会使用额外的内存。


评估Log Buffer

关注re本文来源gaodai#ma#com搞*!代#%^码$网!do buffer allocation retries等待事件:用户进程等待redo log buffer空间的次数。

[sql]

redo buffer allocation retries的值应该接近于0。这个等待由log buffer太小或checkpointing导致。你可以增加log buffer的值,或者提升checkpointing或归档进程。

另一个需要关注的等待事件:log buffer space。
v$session_wait视图指明在”log buffer space%”事件过程中,是否存在因会话向日志缓冲区中写入数据的速度大于LGWR写出数据的速度,而产生的任何对日志缓冲区空间的等待。

[sql]

如果出现log buffer space等待事件,
可以增加log buffer的值

或将重做日志文件移动到更快的磁盘,如条带化磁盘。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:配置并使用Redo Log Buffer
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址