37. Steps to measure throughput of a GoldenGate confguration

衡量OGG吞吐量:

有两种衡量OGG吞吐量的标准:数据吞吐量和操作吞吐量

1° 数据吞吐量的衡量步骤:

# 目标端操作
su - oracle
cd /ggs
# 获取应用进程RGGTEST1当前和一分钟之后的RBA值
BEF_RBA_RGGTEST1=$(echo 'info rggtest1'|./ggsci|grep 'RBA'|awk '{print $NF}')
sleep 60
AFT_RBA_RGGTEST1=$(echo 'info rggtest1'|./ggsci|grep 'RBA'|awk '{print $NF}')
# 计算一分钟内的数据吞吐量
echo "$(( (${AFT_RBA_RGGTEST1}-${BEF_RBA_RGGTEST1})/1024 )) KB per Minute"
# RBA记录了当前trail文件中被处理的位置
# 两个RBA的差即是在同一trail文件中一定时间间隔内处理了多少Bytes的数据
# 该方法衡量数据吞吐量不能跨trail文件

2° 操作吞吐量的衡量步骤:

su - oracle
cd /ggs
echo 'stats rggtest1, totalsonly SCOTT.*'|./ggsci
# 使用命令直接查看应用进程RGGTEST1对SCOTT用户下所有对象的总体操作吞吐量

3° 数据吞吐量衡量脚本:

cat >/tmp/log_data_throughput.sh<<EOF
#!/bin/bash
# Written by Ankur Gupta
# Modified and Note by Vincent
source ~/.bash_profile
# Oracle相关的环境变量均写入.bash_profile中
export GG_HOME=/ggs
export LOG_FILE=/tmp/data_throughput_history.txt
# 查看某个进程的信息
info (){
echo "info \$1"|./ggsci &>/tmp/info.txt
}
# 查看全部进程的信息
list_all (){
echo 'info *'|./ggsci &>/tmp/all_processes.txt
}
# main
cd \$GG_HOME
list_all
for process in \$(egrep 'EXTRACT|REPLICAT' /tmp/all_processes.txt | awk {' print \$2 '})
do
  info \$process
  export START=\$(grep RBA /tmp/info.txt | awk {'print \$4'})
  sleep 30
  info \$process
  export  STOP=\$(grep RBA /tmp/info.txt | awk {'print \$4'})
  SPEED=\$((\$STOP-\$START))
  SPEED=\$((\$SPEED/1024/1024/30*60*60))
  TIMESTAMP=\$(date "+%F %T:%S")
  echo "\${process} \${TIMESTAMP} \${SPEED}MB/HR" >> \$LOG_FILE
done
EOF
chmod +x /tmp/log_data_throughput.sh
# 可以将脚本挂自动任务,每小时监控所有进程的数据吞吐量

4° stats命令简介:

可参见《16. Verifying the data transfer on the target system》

STATS <PROCESS_TYPE> <group name>
[, <statistic>]
[, TABLE <table>]
[, TOTALSONLY <table spec>]
[, REPORTCDR]
[, REPORTDETAIL | NOREPORTDETAIL]
[, REPORTRATE <time units>]
[, ... ]

用法样例:
  stats *
  STATS RGGTEST1, TOTAL, HOURLY, TABLE SCOTT.EMP, REPORTRATE HR, REPORTDETAIL

[TOC]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值