-
[GCP] Google Cloud Functions cold start(함수 실행 지연 현상) 문제 해결(feat. Pub/Sub & BigQuery)GCP/Cloud Functions 2021. 9. 5. 23:45728x90
🙊 배경설명
GCP에서 Pub/Sub 데이터를 BigQuery에 적재하기 위해 Cloud Functions를 사용하여 중간에서 데이터 전달 역할 로직을 구현했다.
반복적인 내부 소스코드를 수정(빅쿼리 테이블 필드 추가)하고 배포 하게되면,
배포 즉시 함수가 동작하지 않는 문제가 발생했다.
따라서 Cloud Functions 기본 로직에 대해 알아봅시다 💃
1. Cloud Functions = Severless fuction
=> 즉, Auto Scaling으로 트래픽에 맞는 인스턴스 수를 조정하여 함수 제공
2. GCP Cloud Functions의 인스턴스 시작 조건
- 함수를 새로 배포하는 경우
- 증가하는 트래픽을 처리하기 위해 인스턴스를 확장 또는 대체하는 경우
3. GCP Cloud Functions cold start
- 새로운 인스턴스가 시작되면 내부에서 함수가 실행될 수 있도록 소스 코드 로드와 같은 여러가지 환경을 구성하는 작업을 수행함.
- 따라서, 인스턴스 처음 호출 시, 느리게 동작하는 문제 발생!
4. Functions Optimization
⇒ 함수의 동작 시간을 줄이기 위한 최적화 방법으로는..
- 불필요한 dependency 제거
- Global variable을 사용한 재사용
- Lazy Initialization(실제 해당 객체 사용 시 초기화)
- Keep Alive
reference.
👉 https://stackoverflow.com/questions/57507263/google-cloud-functions-execution-time-limitations
👉 https://stalker5217.github.io/cloud/coldStart/
- 이상 오늘의 삽질일기 끝:)
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller