数据岗位面试题更新 2026-08-05

在 Airflow 中,并行度控制涉及哪些配置项?它们各自如何影响任务调度?请说明在多任务并发时如何通过配置防止系统过载。

数据系统设计技术原理问题排查Apache Airflow

考察说明

考察候选人对 Airflow 并行度配置及资源保护机制的理解。

回答思路

  1. 【回答框架 1】Airflow 的并行度主要通过核心配置项控制,包括 airflow.cfg 中的 parallelism、dag_concurrency、max_active_runs_per_dag,以及每个任务实例的 pool 和任务级 concurrency 参数。
  2. 【回答框架 2】parallelism 是全局最大并行任务数,dag_concurrency 是针对单个 DAG 的最大并行任务数,max_active_runs_per_dag 限制 DAG 同时运行的最大实例数。此外,还可以为任务设置 pool(资源池),通过池容量控制特定任务组的并发上限。
  3. 【回答框架 3】通过合理设置这些参数,可以避免任务调度过载。例如,设置全局 parallelism 限制总并发任务数,为执行器资源占用高的任务分配独立的 pool,并限定池容量,可防止资源不足导致的任务排队或失败。
  4. 【回答框架 4】实际配置时,建议根据执行器类型(如 LocalExecutor、CeleryExecutor)和底层资源(CPU、内存)规划并发数,并监控任务队列长度和等待时间,动态调整配置。
  5. 【回答框架 5】可以通过达到资源峰值时的任务延迟和失败率来判断配置是否合理,必要时结合运行历史数据优化参数,而不是仅凭经验设置。
  6. 【关键点 1】parallelism 控制全局最大任务并发数,需结合执行器资源设定。
  7. 【关键点 2】dag_concurrency 限制单 DAG 的并发任务数,max_active_runs_per_dag 限制 DAG 实例并发数。
  8. 【关键点 3】使用 pool 可以为关键任务组分配独立资源上限,防止过载。
  9. 【关键点 4】配置调整后应基于监控数据持续优化,不能静态固定。
  10. 【关键点 5】并行度配置需匹配执行器类型,避免资源争抢。
  11. 【易错点 1】不要将 parallelism 设为过大值,否则可能导致调度器过载和任务失败率高。
  12. 【易错点 2】pool 容量设置需留有资源冗余,否则任务可能长时间等待。
  13. 【易错点 3】修改配置后必须重启 scheduler 或 worker 才会生效。