flinkcdc2.3 + oracle19c,抽取速度一直上不去,2800w数据现在一直维持在?[阿里云实时计算 Flink版]

flinkcdc2.3 + oracle19c,抽取速度一直上不去,2800w数据现在一直维持在58min上下。有大佬碰到这情况不?上次的那个大佬不记得是谁了,按照他给的来速度还是上不去

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 如果您使用 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 的并行度、缓存大小等配置项,以适配不同场景的需求。

  2. 如果 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 作业相关配置
    有了完整信息,才能更准确地给出优化建议,帮助你有效提升速度。
    希望以上信息能为你的问题提供参考!如果还有其他问题,欢迎继续交流。

  3. 开10个或者20个上,等到增量,savepoint后,改成1再从状态启动,此回答整理自钉群“Flink CDC 社区”