
Dataflow 병목 현상 감지기를 사용하여 Dataflow 스트리밍 작업에서 진행 차단을 진단하고 파이프라인 성능을 최적화합니다. 감지기는 처리량을 제한하고 백로그를 유발하는 데이터 파이프라인의 구성요소를 자동으로 강조표시합니다.
병목 현상 감지기를 사용하면 실행 지연의 정확한 위치와 원인을 파악하여 시행착오 추측 없이 복잡한 Apache Beam 스트리밍 파이프라인의 문제를 해결할 수 있습니다.
병목 현상 감지 작동 방식
스트리밍 파이프라인은 일반적으로 큐로 연결된 일련의 단계로 구성됩니다. 데이터는 업스트림 소스에서 중간 변환을 거쳐 다운스트림 싱크로 순차적으로 이동합니다.
많은 파이프라인에서 전체 처리량은 단일 구성요소 또는
단계에 의해 제한되어 병목 현상 또는 작업 진행 속도 저하가 발생합니다. 다운스트림 구성요소가 업스트림 구성요소가 데이터를 생성하는 속도만큼 빠르게 데이터를 처리할 수 없는 경우 두 구성요소 간의 큐가 채워지기 시작합니다. 예를 들어 업스트림 스트리밍 셔플 구성요소가 느린 다운스트림 사용자 정의 DoFn이 데이터를 처리할 수 있는 속도보다 빠르게 데이터를 생성하는 경우 큐가 채워집니다.
시간이 지남에 따라 이 지연은 파이프라인의 모든 단계에 영향을 미칩니다. 백로그가 업스트림에서 증가하여 결국 파이프라인이 원래 소스의 입력을 수집하고 처리할 수 있는 속도를 제한합니다. 이러한 동작을 백로그 전파 라고 합니다.
백로그 전파가 발생하면 단일 단계에서 기본 제약조건이 발생하더라도 파이프라인의 여러 단계가 비정상 또는 느리게 표시될 수 있습니다. 병목 현상 감지기는 다음을 비롯한 모든 구성요소에서 실행 지연을 지속적으로 모니터링합니다.
- 스트리밍 셔플
- 사용자 정의 함수 (
DoFn스레드) - 영구 상태 커밋
구성요소에 5분을 초과하는 처리 지연이 발생하면 Dataflow 병목 현상 감지기가 이를 병목 현상으로 등록합니다. 작업 실행 그래프에서 단계를 강조표시하고 자세한 진단 정보를 제공합니다.
병목 현상의 종류

병목 현상이 활성 상태이면 병목 현상 감지기가 다음 상태 중 하나로 분류합니다.
- 처리가 중단되어 진행되지 않음: 파이프라인의 진행이 영향을 받는 단계에서 완전히 중단됩니다.
- 처리가 진행 중이지만 속도가 느림: 현재 단계가 작동하지만 수신 데이터를 도착하는 속도만큼 빠르게 처리할 수 없어 백로그가 증가합니다.
- 처리가 진행 중이지만 백로그가 꾸준함: 단계에서 수신 속도와 동일한 속도로 데이터를 처리합니다. 백로그가 증가하지는 않지만 높은 상태를 유지합니다.
- 처리가 진행 중이며 백로그를 따라잡고 있음: 단계에서 백로그를 성공적으로 지우고 있습니다. 기존 백로그가 있는 파이프라인을 시작하는 경우 이 상태는 정상이며 개입이 필요하지 않습니다.
병목 현상 감지기 진단 보기 및 해결 방법에 대한 자세한 내용은 병목 현상 감지 및 해결을 참고하세요.
다음 단계
- Dataflow 파이프라인 병목 현상을 감지하고 해결하는 방법을 알아봅니다.
- 느리거나 중단된 스트리밍 작업 문제 해결을 검토합니다.
- 고급 성능 프로파일링은 Cloud Profiler를 사용하여 파이프라인 성능 모니터링을 참고하세요.