Oracle: archive归档速度控制尝试
1. 概述
前段时间进行压测,由于硬件条件不是最理想,压测过程中出现TPS波动,主要发生在归档产生期间。
redo日志切换且进行归档时,TPS出现波动。Redo文件已经独立存放于独立介质,而归档时仍会出现大量读取redo文件的 IO,使请求队列增加,IO请求服务时间增加,造成波动。
解决思路:提升IO能力。降低IO需求。这里我们尝试去降低IO需求,也就是找方法限制归档的速度。
2. _log_archive_buffers
注意到这个参数是Number of buffers to allocate for archiving,因此有希望通过设置较小的值来控制归档速度,使读取redo的速度放慢,相关IO更平稳。
由于_log_archive_buffers是隐含参数,并不推荐使用,所以要在生产环境使用前,请联系oracle官方支持确认。且归档速度过慢,会导致归档速度跟不上redo产生速度,从而导致服务不可用。
3. 控制IO后的压测表现
设为_log_archive_buffers=1后的表现如下: