你好。Flink CDC2.4版本的 设置chunk 和fetch size之前2.3版本默认值是多少?切到2.4 没有改参数之后全量初始化只有1500r/s 2.3版本能够达到10000+r/s?用的是mysql cdc
Flink CDC 2.3 版本和 2.4 版本的设置 chunk
和 fetch size
的默认值是相同的。具体如下:
- table.sink.partition.commit.policy.chunk.size
的默认值是 1MB,表示每提交 1MB 的数据一个分区。 - table.sink.partition.commit.policy.fetch.size
的默认值是 5,表示每次最多获取 5 个分区的数据。 - table.sink.partition.parallelism
的默认值是 1,表示只使用一个分区。
这些默认值适用于动态表分区(dynamicTablePartitions)方式。如果您不使用动态表分区,则没有这些配置项,Flink 将使用默认的分区并发度。
需要注意的是,对于 PostgreSQL sink,在 Flink CDC 2.4 版本中,默认的 fetch size
已经改为 1,而在 2.3 版本仍然是 5。
综上所述: - Flink CDC 2.3 版本和 2.4 版本的默认 chunk size
都是 1MB。 - 对于 MySQL sink,两个版本的默认 fetch size
都是 5。 - 对于 PostgreSQL sink,在 Flink CDC 2.4 版本中,默认的 fetch size
改为了 1。
因此,如果您使用的是 PostgreSQL sink,建议升级到 Flink CDC 2.4 版本,以避免由于较大的 fetch size
值造成的性能问题。
Flink CDC 2.3 版本和 2.4 版本的 chunk 和 fetch size 默认值是一样的。
具体来说:
table.sink.partition.commit.policy.chunk.size 的默认值是 1M ,即每 1MB 数据提交一个 partition 。
table.sink.partition.commit.policy.fetch.size 的默认值是 5 ,即每次fetch最多 5 个 partition 。
table.sink.partition.parallelism 的默认值是 1 ,表示只使用一个partition。
这些默认值都是基于动态表分区(dynamicTablePartitions)方式的。
如果不使用动态表分区,则没有这些配置项,Flink 会使用默认分区并发度。
值得注意的是,对于 PostgreSQL sink ,2.4 版本修改了默认的 fetch size 为 1 。
所以具体来说:
Flink CDC 2.3 和 2.4 版本的默认 chunk size 都是 1MB
对于 MySQL sink , 两版本的默认 fetch size 都是 5
但对于 PostgreSQL sink,Flink CDC 2.4 已经改为默认 fetch size 为 1
所以如果你使用的是 PostgreSQL sink ,建议升级到 2.4 版本,可以避免由于过大的 fe
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。