从 DAG 文件夹中挑选 dags 时气流延迟
Airflow delays in picking the dags from DAG folder
我们使用的是 airflow 版本 2,当我们将 DAG 文件放在 DAG 文件夹中时,需要 20 到 30 秒才能在 airflow dag 列表中反映 dag。
注意:我们正在使用 Celery 执行器和 postgres 作为数据库。
有人可以帮助我如何使气流更快地拾取 DAG 吗?
是否有配置/任何想法都是可观的。
谢谢,
哈利
最好的办法是减少 scheduler__min_file_process_interval
参数(这会增加 CPU 的使用率)
Number of seconds after which a DAG file is parsed. The DAG file is
parsed every min_file_process_interval number of seconds. Updates to
DAGs are reflected after this interval. Keeping this number low will
increase CPU usage.
但是,这实际上取决于几个因素 - 您有多少个 DAG、多少个文件解析进程、多少个调度程序、排序顺序、间隔参数。
参见https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#id24(调度程序参数)
另外 https://airflow.apache.org/docs/apache-airflow/stable/concepts/scheduler.html#scheduler-tuneables 很好地概述了您可以使用的可调参数
通常,您的方法应该与任何性能改进和优化相同。 Airflow 为您提供了很多可以转动的“旋钮”,但您的任务(取决于您的特定部署)决定转动哪些旋钮。
例如,如果您发现自己正在饱和 CPU,您可能需要添加另一个调度程序,因为您的机器解析所有 DAG 的速度可能很慢。但是当您看到有一些 CPU 空闲时,您可能会增加解析进程的数量。如果您使用远程文件系统并且发现您在 i/o 上被阻止,您可能想要增加文件系统的容量(通常云远程文件系统的吞吐量有限)等等。您还可以配置排序顺序 - 即哪个首先处理文件。
我强烈建议您观看 2021 年 Airflow 峰会的演讲 - https://youtu.be/DYC4-xElccE 这可能有助于了解调度程序的工作原理以及您可以进行哪些调优。
我们使用的是 airflow 版本 2,当我们将 DAG 文件放在 DAG 文件夹中时,需要 20 到 30 秒才能在 airflow dag 列表中反映 dag。
注意:我们正在使用 Celery 执行器和 postgres 作为数据库。
有人可以帮助我如何使气流更快地拾取 DAG 吗? 是否有配置/任何想法都是可观的。
谢谢, 哈利
最好的办法是减少 scheduler__min_file_process_interval
参数(这会增加 CPU 的使用率)
Number of seconds after which a DAG file is parsed. The DAG file is parsed every min_file_process_interval number of seconds. Updates to DAGs are reflected after this interval. Keeping this number low will increase CPU usage.
但是,这实际上取决于几个因素 - 您有多少个 DAG、多少个文件解析进程、多少个调度程序、排序顺序、间隔参数。
参见https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#id24(调度程序参数)
另外 https://airflow.apache.org/docs/apache-airflow/stable/concepts/scheduler.html#scheduler-tuneables 很好地概述了您可以使用的可调参数
通常,您的方法应该与任何性能改进和优化相同。 Airflow 为您提供了很多可以转动的“旋钮”,但您的任务(取决于您的特定部署)决定转动哪些旋钮。
例如,如果您发现自己正在饱和 CPU,您可能需要添加另一个调度程序,因为您的机器解析所有 DAG 的速度可能很慢。但是当您看到有一些 CPU 空闲时,您可能会增加解析进程的数量。如果您使用远程文件系统并且发现您在 i/o 上被阻止,您可能想要增加文件系统的容量(通常云远程文件系统的吞吐量有限)等等。您还可以配置排序顺序 - 即哪个首先处理文件。
我强烈建议您观看 2021 年 Airflow 峰会的演讲 - https://youtu.be/DYC4-xElccE 这可能有助于了解调度程序的工作原理以及您可以进行哪些调优。