You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow并行度无法扩容:设置PARALLELISM=40仍仅运行32个任务求助

Airflow任务扩容问题排查

我们在Kubernetes集群中部署了Airflow,包含调度器、Web服务器、Flower、Redis及4个Worker节点。已更新ConfigMap设置AIRFLOW__CORE__PARALLELISM = 40,按资料这应该支持同时运行约40个任务,但DataDog仪表盘显示任务数始终维持在32左右。当前相关参数:

AIRFLOW__CELERY__WORKER_CONCURRENCY=8
AIRFLOW_VERSION=2.1.2

核心瓶颈:Worker总并发能力不足

当前4个Worker节点,每个Worker的并发数设为8,总并发为 4 * 8 = 32,这直接限制了同时运行的任务数上限——即使全局PARALLELISM设为40,实际能跑的任务数也受限于Worker的总处理能力。

需要检查/调整的配置项

  • 调整Worker并发数或数量:
    要达到40的全局并发,需让Worker总并发≥40。比如:

    • 保持4个Worker,将AIRFLOW__CELERY__WORKER_CONCURRENCY提高到10(4*10=40);
    • 保持每个Worker并发8,增加到5个Worker(5*8=40);
    • 按需组合调整数量和单节点并发。
  • 确认AIRFLOW__CORE__DAG_CONCURRENCY:
    该参数控制单个DAG的最大并发任务数(默认16)。如果任务集中在少数几个DAG上,即使全局并发足够,单个DAG的上限也会限制整体任务数,需要根据需求调高。

  • 检查AIRFLOW__CORE__MAX_ACTIVE_TASKS_PER_DAG_RUN:
    该参数控制单个DAG运行实例的最大活跃任务数(默认16),如果单DAG实例的任务数受此限制,也会影响整体并发量,需按需调整。

  • 验证配置是否生效:
    更新ConfigMap后,需确保所有Worker Pod已重启,新配置才会加载。可以通过查看Worker日志或执行airflow config get-value celery worker_concurrency命令确认当前生效的参数。

  • 可选:检查AIRFLOW__CELERY__CELERYD_MAX_TASKS_PER_CHILD:
    该参数控制每个Worker进程处理的任务数上限(默认1000),如果设置过小会导致Worker频繁重启,间接影响并发能力,需确保数值合理。

内容的提问来源于stack exchange,提问作者Robert Riley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:22:46