视频流并发控制

本页面简要介绍了流并发控制,例如并发变更数据捕获 (CDC) 任务和回填任务的最大数量。您可以通过增加或减少这些参数的值来控制流性能。

并发控制概览

通过使用并发控制,您可以更快地实现回填和 CDC,也可以平衡源数据库上的负载。如果您需要更高的吞吐量,并且可以承受数据库上更高的负载,则可以提高 CDC 和回填任务的并发性。反之,如果您的数据库正承受高负载,并且您想防止其过载,则可以降低这些参数的值。

CDC 任务数上限

借助 maxConcurrentCdcTasks 参数,您可以控制一个流并行运行的 CDC 任务数。如需提高 CDC 吞吐量,请增加此参数的值,以便 Datastream 同时处理更多 CDC 日志文件。

该形参的主要特征包括:

  • 默认值为 5。您可以将此参数设置为介于 150 之间(含边界值)的任何值。
  • 此参数仅适用于 Oracle 和 MySQL 源。
  • 仅当可供读取的数据库日志文件数量多于 CDC 任务数量时,此参数才会产生影响。日志文件设置由源数据库配置参数控制:日志文件大小上限和日志轮换时间间隔上限。如需详细了解这些参数,请参阅 Oracle 和 MySQL 文档。
  • 如果您减少并发 CDC 任务的数量,Datastream 可能会落后于数据库日志,这最终可能会导致日志位置丢失和数据流失败。

回填任务数上限

maxConcurrentBackfillTasks 参数可让您控制数据流可以并行运行的回填任务数。您可以增加或减少此值来控制回填吞吐量。

该形参的主要特征包括:

  • 默认值为 15。您可以将此参数设置为介于 150 之间(含边界值)的任何值。
  • 增加回填并发性会带来很高的风险,因为回填任务对数据库性能有显著影响。每个回填任务都会对表运行未经过滤的 SELECT 查询,对于大型表,此类查询会返回大量行。
  • 如果您降低回填并发性,除了回填需要更长时间才能完成之外,对源数据库没有任何负面影响。

更改并发控制的值

您可以使用 Datastream API 更改并发控制参数的值。

后续步骤