zoukankan      html  css  js  c++  java
  • AirFlow性能调优

    修改 airflow.cfg 配置

    不加载example dag

    load_examples = False  # 这个配置只有在第一次启动airflow之前设置才有效

    修改检测新dag间隔

    最好还是修改一下,因为默认为0,没有时间间隔, 很耗资源。

    min_file_process_interval = 10

    怎么使 Airflow dag 运行得更快?

     

    parallelism: 此变量控制 Airflow worker 可以同时运行的任务实例的数量。 用户可以通过改变airflow.cfg中的 parallelism 调整 并行度变量。

    concurrency: Airflow scheduler 在任何时间不会运行超过 concurrency 数量的 DAG 实例。 concurrency 在 Airflow DAG 中定义。

    如果在 DAG 中没有设置 concurrency,则 scheduler 将使用airflow.cfg文件中定义的dag_concurrency作为默认值。

    max_active_runs: Airflow scheduler 在任何时间不会运行超过 max_active_runs DagRuns 数量。

    如果在 DAG 中没有设置max_active_runs ,则 scheduler 将使用airflow.cfg文件中定义的max_active_runs_per_dag作为默认值。

    如何减少 Airflow UI 页面加载时间?

    如果你的 dag 需要很长时间才能加载,你可以减小airflow.cfg中的default_dag_run_display_number的值。 此可配置控制在 UI 中显示的 dag run 的数量,默认值为 25。

    如何修复异常:Global variable explicit_defaults_for_timestamp needs to be on (1)?

    这意味着在 mysql 服务器中禁用了explicit_defaults_for_timestamp,您需要通过以下方式启用它:

    • 在 my.cnf 文件的 mysqld 部分下设置explicit_defaults_for_timestamp = 1 。
    • 重启 Mysql 服务器。

    这种解决方法更多在针对mysql是安装在服务器上,如果mysql部署在容器里面,my.cnf文件不好找的情况,解决办法可以参考

    https://www.cnblogs.com/braveym/p/12169788.html

    如何减少生产环境中的 Airflow dag 调度延迟?

    max_threads: scheduler 将并行生成多个线程来调度 dags。 这数量是由max_threads参数控制,默认值为 2.用户应在生产中将此值增加到更大的值(例如,scheduler 运行机器的 cpus 数量 - 1)。

    scheduler_heartbeat_sec: 用户应考虑将scheduler_heartbeat_sec配置增加到更高的值(例如 60 秒),该值控制 airflow scheduler 获取心跳和更新作业到数据库中的频率。

  • 相关阅读:
    pysocketserver
    协程
    py模块和包
    py网络编程
    GridView绑定技巧终结者
    iOS 证书/私钥/代码签名/描述文件
    八拜之交
    POJ3230(Travel)
    POJ2553(The Bottom of a Graph)
    动态规划的实质
  • 原文地址:https://www.cnblogs.com/braveym/p/12672564.html
Copyright © 2011-2022 走看看