干货分享:CDC实时数据复制,大神教你调性能
数据实时复制任务的成与败,取决于多方面的因素,例如:被复制数据本身情况,源系统和目标系统的自身运行状况,网络通讯方面,系统架构设计和实施人员专业技术水平等等。面对复杂而艰巨的任务,IBM 公司专业化实施团队积累了丰富的经验,以下是我们这次分享的 IBM InfoSphere CDC性能调优的重点内容。
1. 明白数据复制的需求和使用场景
改善并提升数据复制作业性能是双向互动的操作,以满足业务需求和目标为根本出发点,其原因是:
- 当对某个运行进程作了调优,并解决了该方面的性能瓶颈后,可能在该进程的上游或下游地方,又产生了新的性能瓶颈,让你很难能做到调整某一部分,就能解决性能上存在的全部问题。
- 数据复制过程中,业务运作在不同时间段内会有不同的要求,并不是一成不变的。例如:在业务交易时间段,数据实时变更频繁,对 CDC 时延(Data Latency)要求较高,才能达致业务目标;但是,在业务日终结算处理时间段,则更多地聚焦于海量数据的后期加工和批量处理,反而对 CDC 时延(Data Latency)要求较低。
因此,我们在优化数据复制的作业运行性能时,一切以业务需求为目标,采取合适手段来解决问题。否则,难以两全其美,还影响业务运作。
2. 监控总体性能情况
在确定调优方案前,需要监察 CDC 数据复制作业的总体性能状况,其中包括:
CDC DataStore 健康状况。
CDC进程运行时内存的使用情况,占用率最高达 70%左右为最佳
利用 CDC Management Console探测潜在的性能瓶颈
以下例子,其监控信息结果说明了目标端系统是性能瓶颈,数据从源系统复制传送速度快于目标系统的处理速度。
3. 收集作业运行统计信息以进行分析
IBM CDC 提供了全面收集作业运行过程中性能明细信息的有效手段,以下是以复制 Oracle 数据库数据的作业为例子,所收集的信息种类和手段。
4. 完成性能调优任务
根据上述的复制Oracle 数据库数据的作业为例子,确定调优的方法如下。
该策略为:
- 在源系统保持捕获合理的数据增量和传送数据量 batch size;
- 在目标系统调整合理的更新数据量 batch size,并仅对变化的字段进行更新(缺省是全部字段更新),以发挥最大处理性能;
- 需要有丰富数据库性能调优经验和 IBM CDC 工具熟练使用技巧。
5. 评估性能优化结果
IBM CDC 作业调优前,其运行结果:
从上图信息可发现:数据从源系统不断地快速复制传送到目标系统,但是目标系统性能存在瓶颈,时延不断地增大到最高峰值而没回落,直到数据复制快结束时才开始回落。
IBM CDC 作业调优后,其运行结果:
从上图信息可发现:目标系统 CPU资源使用率明显地比源系统高得多,数据库性能得以充分发挥。数据复制的时延不算高,平均值和峰值差距不大。因此,CDC 作业调优工作是富有成效的。 相对比其他友商的测试结果, IBM CDC 综合能力和主要功能都稍胜一筹。如果有兴趣想了解更多的 IBM CDC数据复制技术及经验,请参阅:http://bigdata.evget.com/
上一篇: Netty接收报文长度问题