OGG网络层面优化点:
1,为每个抽取进程配置至少一个发送进程
如果抽取和发送配置成一个进程,当网络故障时,抽取操作会停止
同时抽取和发送配置成一个进程,该进程的压力也会很大
2,为发送参数RMTHOST配置TCPBUFSIZE和TCPFLUSHBYTES操作
默认的TCPBUFSIZE是30000 bytes,对于高速网络需要调整
使用ping命令来查看源端到目标端的平均RTT(Round-Trip Time):
ping -c 3 192.168.1.250|grep '^rtt'
3,TCPBUFSIZE = 平均RTT * 网络带宽
例如:网络带宽=100Mbps=100000000Bits/s,平均RTT=0.836ms=0.836/1000s
TCPBUFSIZE = 0.836/1000s * 100000000Bits/s = 83600Bits = 10450 Bytes
无需调整,原文此处算错了
4,参数TCPFLUSHBYTES至少要等于TCPBUFSIZE的值,发送进程中配置写法如下:
RMTHOST 192.168.77.11, MGRPORT 8809, TCPBUFSIZE 10450, TCPFLUSHBYTES 10450
此处算出的调整值小于默认值,是无需调整的
5,调整网络相关的内核参数,调整到至少等于TCPBUFSIZE,如 /etc/sysctl.conf中配置:
net.core.rmem_max = 10450
net.core.wmem_max = 10450
net.ipv4.tcp_rmem = 10450
net.ipv4.tcp_wmem = 10450
以上四个参数单位都是Byte,详细解释可以参见《CentOS5u11 Oracle 10g 安装部署的内核参数设置简析》
6,如果以上配置之后,源端向目标端发送trail文件延迟还是较大
可以使用COMPRESS关键字配置发送进程压缩trail文件进行发送:
RMTHOST 192.168.77.11, MGRPORT 8809, COMPRESS
OGG以1:4的比例进行压缩,使用压缩会提高CPU的负载
7,以上优化配置需要重启进程
[TOC]