flinkcdc2.3 + oracle19c,抽取速度一直上不去,2800w数据现在一直维持在58min上下。有大佬碰到这情况不?上次的那个大佬不记得是谁了,按照他给的来速度还是上不去
flinkcdc2.3 + oracle19c,抽取速度一直上不去,2800w数据现在一直维持在?[阿里云实时计算 Flink版]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
flinkcdc2.3 + oracle19c,抽取速度一直上不去,2800w数据现在一直维持在58min上下。有大佬碰到这情况不?上次的那个大佬不记得是谁了,按照他给的来速度还是上不去
如果您使用 Flink CDC 2.3 版本和 Oracle 19c 数据库时,抽取速度一直无法提升,并且维持在一个较低水平(例如每小时处理2800万条数据),可能存在以下原因:
1. Oracle 数据库性能瓶颈:请检查 Oracle 数据库的性能,包括 CPU、磁盘 IOPS 等指标是否达到预期。如果数据库性能不足,可能会限制抽取速度。
2. Flink CDC 配置项不合理:请检查 Flink CDC 的配置项,特别是与抽取相关的配置,如 chunk size 和 parallelism 是否适当。适当调整这些配置项可以尝试提升抽取速度。
3. Oracle RedoLog 太小:如果 Oracle RedoLog 太小,可能会导致数据落后,从而影响抽取速度。请考虑增大 RedoLog 的大小以避免成为瓶颈。
4. Oracle 分区表性能问题:如果您在 Oracle 中使用了分区表,可能存在性能问题。建议参考 Oracle 官方文档对分区表进行优化。
5. 并发事务负载过高:如果数据库中存在过多的并发事务负载,可能会导致锁定和阻塞情况,进而影响抽取速度。请尽量减少并发事务负载,降低锁定时间。
为了进一步解决这个问题,可以提供更多的信息,例如:
– Oracle 的版本和配置信息 – 分区表的情况 – 并发事务的并发量 – Flink 和 Flink CDC 的版本 – Flink CDC 作业相关的配置
根据这些详细信息,可以给出更具体的优化建议,以帮助您有效提升抽取速度。
此外,根据社区中的一些建议,您可以尝试以下操作来提高速度:
1. 开启多个 Flink CDC 实例(如10个或20个),等待增量数据到达后,在保存状态点(savepoint)后将并行度改为1,并使用该状态点重新启动。 2. 可以尝试调整 Flink CDC 的并行度、缓存大小等配置项,以适配不同场景的需求。
如果 Flink CDC 抽取 Oracle 数据的速度一直不能提升,可能的原因包括:
Oracle 性能瓶颈:引擎、磁盘、网络等性能不足
Flink CDC 配置项不合理
Oracle RedoLog 太小,数据落后
Oracle 分区表(Partition Table)性能问题
Oracle 并发事务负载过高
2800w数据需要1个小时,平均速度是:
2800万 / (1个小时*3600秒) = 7.8万/秒
对 Oracle 来说,这个速度还算可以接受。
要继续提升抽取速度,可以检查和优化以下方面:
检查 Oracle 数据库性能,CPU、磁盘IOPS是否水平
增大Oracle RedoLog Size,避免成为瓶颈
优化 Flink CDC 的 chunk size 和 parallelism,避免网络饿死
对于分区表,参考Oracle官方文档进行优化
减少数据库事务并发压力,降低锁定时间
总的来说,要确保 Oracle 的性能强劲、RedoLog 充足、并发合理,Flink CDC 端配置也适当。
要进一步解决这个问题,建议提供更多信息:
Oracle版本和配置信息
分区表情况
并发事务并发量
Flink和Flink CDC版本
Flink CDC 作业相关配置
有了完整信息,才能更准确地给出优化建议,帮助你有效提升速度。
希望以上信息能为你的问题提供参考!如果还有其他问题,欢迎继续交流。
开10个或者20个上,等到增量,savepoint后,改成1再从状态启动,此回答整理自钉群“Flink CDC 社区”