Oracle Data Guard压缩归档效果对比(r12笔记第26天)

Oracle Data Guard对归档的传输提供了很多辅助的选项,这个可 以通过log_archive_dest_x看到。

一般说这类的优化,如果有大批量的归档需要传输,对于网络带宽还真是一个不小的冲击,有一种改进方法,就是打包压缩归档,然后传输到备库,然后解压应用,整个过程有几个地方需要注意,整个过程肯定会有延迟,而且还不小,在压缩和解压的过程对系统资源会有一个持续的耗用。而好处也相对明显很多,就是对于带宽的占用会有一定的压缩。所以一句话总结,如果压缩备份,对系统会有额外的资源消耗,节约流量,会有一定的延迟。

在这个地方上,其实很多Oracle DBA都知道这么个过程,而且设置起来就是一个参数属性的修改,没什么难的,而对于这个属性的设置带来的优劣和比重却很少有人去探究,我们来做一个简单的测试。

首先要保证持续的插入数据,测试分为两组,一组是压缩归档,一组是不压缩归档,插入的数据量一致,在这个过程中监控CPU,IO,网络带宽的使用情况。

按照这种需求我们就可以很自然的使用swingbench和zabbix来做。通过swingbench来初始化数据,通过zabbix监控资源使用情况。

为了尽可能造成一种瓶颈的情况,我保留了redo的默认值50M.让它尽可能频繁的切换。

初步的测试50G的数据,大概要切换1700多次,因为还包括索引的开销。

使用swingbench初始化我采用命令行方式初始化

# ./oewizard -s -c oewizard.xml -allindexes -ts users -tc 16 -v -cl -scale 20 -create

oewizard.xml这个文件是基础的配置,里面核心的配置就是这些了。

<DefaultParameters> <Parameter Key="datatablespacesexists" Value="true"/> <Parameter Key="password" Value="soe"/> <Parameter Key="username" Value="soe"/> <Parameter Key="datafile" Value=""/> <Parameter Key="userexists" Value="true"/> <Parameter Key="connectionstring" Value="10.127.2.32:1521:dataguru"/> <Parameter Key="connectiontype" Value="thin"/> <Parameter Key="onlydropuser" Value="false"/> <Parameter Key="operation" Value="create"/> <Parameter Key="tablespace" Value="USERS"/> <Parameter Key="dbausername" Value="sysbench_dba"/> <Parameter Key="dbapassword" Value="oracle"/> <Parameter Key="output" Value="Verbose"/> </DefaultParameters>

修改数据的归档压缩属性,可以使用DG Broker来完成,轻轻松松。

假设DG Broker的配置如下:

DGMGRL> show configuration; Configuration - dg_dataguru Protection Mode: MaxPerformance Databases: sdataguru - Primary database dataguru - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS

修改归档压缩参数的设置,可以采用如下的方式:

edit database sdataguru set property RedoCompression='ENABLE'; edit database dataguru set property RedoCompression='ENABLE';

这个过程,会自动生成SQL语句,比如:

ALTER SYSTEM SET log_archive_dest_2='service="dataguru"','LGWR ASYNC NOAFFIRM delay=0 optional compression=enable max_failure=0 max_connections=1 reopen=300 db_unique_name="dataguru" net_timeout=30','valid_for=(all_logfiles,primary_role)' SCOPE=BOTH; 还有以下几点需要注意:

  1. 创建足够空间的数据文件
  2. 闪回区设置的满足数据量需求

测试的结果如何呢,我们来看几个图。

主库的CPU情况如下,可以看到红色的部分差别很小。整体来看压缩归档对于主库的CPU负载压力还是很低的,至少比预期低很多。

而备库的CPU使用情况如下,可以看到第二第三个红框中的CPU差异也很小,而左边的这个是什么呢,是之前压力测试的时候,备库集中式的应用归档的CPU利用情况。

下面的图是备库集中传输归档,开启压碎归档,为开启压缩归档的差别图。可以看到如果备库集中传输归档,流量就会非常大,接近1G的样子,而如果使用swingbench加压的过程中,产生的归档大概不到100M,而不开启压缩归档后的流量大概是原来的1倍,大概是150~180M左右

而备库端的情况,和主库几乎是一致的,看起来抖动和主库都是吻合的,所以结论和上面的一样。开启压缩归档网卡流量大大降低。

整个测试的情况就是这样,我们后续会持续收集数据,做一些更有针对性的对比测试。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2017-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏c#开发者

在 BizTalk Server 2004 SP2 中存档和清除 BizTalk 跟踪数据库

在 Biztalk Server 2004 SP2 中存档和清除 Biztalk 跟踪数据库 发布日期: 2006年09月19日 小结:本白皮书介绍如何配置 B...

36630
来自专栏about云

kafka权威指南 第二章第6节 Kafka集群配置与调优

问题导读: 1 Kafka集群有什么优势? 2 集群中部署多少个节点合适? 3 集群针对系统如何调优? Kafka集群 对于本地的开发工作或者概念性的...

40560
来自专栏分享达人秀

开发IDE大升级,终于迎来了Android Studio

通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也连续用了几期来学习Android开发环境的搭建,不...

270100
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:基于Access数据库的Demo

说明:该demo是基于Access数据库进行客户信息的新增、查看、编辑 新增客户信息和客户列表

16820
来自专栏Java3y

Maven就是这么简单

什么是Maven Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来...

39150
来自专栏北京马哥教育

实战讲解:如何用Python搭建一个服务器

有人说表示只学Python没有用,必须学会一个框架(比如Django和web.py)才能找到工作。 其实掌握一个类似于框架的高级工具是有用的,但是基础的东西可以...

1.9K50
来自专栏北京马哥教育

大神教你DIY高性能运维堡垒体系

概述 不怕出问题,就怕出问题找不到原因 运维团队一般会有个需求就是记录运维或者开发同事在服务器上的操作记录,比如进行一些常规审核或者是服务器被黑了、服务器日志被...

50360
来自专栏Django中文社区

建立 Django 博客应用

建立博客应用 我们已经建立了 Django 博客的项目工程,并且成功地运行了它。不过到目前为止这一切都还只是 Django 为我们创建的项目初始内容,Djang...

30770
来自专栏coding

pyenv,让你轻松切换各种python版本

1.2K60
来自专栏友弟技术工作室

SSO入门

SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映...

535110

扫码关注云+社区

领取腾讯云代金券