새소식

반응형
Data pipeline/Airflow

airflow CPU가 높게 점유되는 현상

  • -
반응형

Airflow를 세팅하고 CPU를 보면 아무것도 하지 않고 있는데, CPU를 40~50% 정도 점유하는 경우가 있습니다.

하지만 이는 몇 가지 옵션만 변경한다면 쉽게 CPU 점유율을 낮출 수 있습니다. 또한 운영상에 큰 지장이 없습니다.

 

저의 경우 GCP 위에서 docker를 통해서 airflow를 운영하고 있으며, 옵션은 worker,scheduler,webserver 이렇게 3개의 컨테이너에 적용하였습니다. 모두 동일하게 적용하였습니다.

1
2
3
4
5
6
7
8
9
10
11
# The scheduler constantly tries to trigger new tasks (look at the
# scheduler section in the docs for more information). This defines
# how often the scheduler should run (in seconds).
scheduler_heartbeat_sec = 60
 
# after how much time (seconds) a new DAGs should be picked up from the filesystem
min_file_process_interval =60
 
# The scheduler can run multiple threads in parallel to schedule dags.
# This defines how many threads will run.
max_threads = 1
cs

 

위의 3개의 옵션을 변경하였고 기존의 값의 경우 다음과 같습니다.

1
2
3
scheduler_heartbeat_sec = 5
min_file_process_interval = 0 
max_threads = 2
cs

 

위의 옵션을 변경하고 docker 컨테이너를 재시작하였을 때 바로 CPU가 하락 함을 볼 수 있습니다.

CPU utilization

 

 

참고 

https://blog.nolanemirot.com/2017/07/13/high-cpu-usage-with-airflow/

 

High CPU on Airflow

I’ve noticed that the CPU is constantly pretty high on airflow. Looking at the processes, I noticed that the scheduler is using all my CPU. You can reduce the amount used using this two varia…

blog.nolanemirot.com

https://stackoverflow.com/questions/42419834/airbnb-airflow-using-all-system-resources

 

Airbnb Airflow using all system resources

We've set up Airbnb/Apache Airflow for our ETL using LocalExecutor, and as we've started building more complex DAGs, we've noticed that Airflow has starting using up incredible amounts of system

stackoverflow.com

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.