스트리밍 작업의 낙오 항목 문제 해결

스트리밍 파이프라인에서 낙오 항목은 다음 특성을 가진 작업 항목으로 정의됩니다.

  • 이는 워터마크가 상당한 시간(분 단위) 동안 진행되지 않도록 합니다.
  • 동일한 스테이지의 다른 작업 항목에 비해 오랜 시간 동안 처리됩니다.

낙오 항목은 워터마크를 보류하고 작업에 지연 시간을 추가합니다. 사용 사례에서 지연이 허용되는 경우 별도의 조치를 취할 필요가 없습니다. 작업 지연 시간을 줄이려면 낙오 항목부터 해결하세요.

Google Cloud 콘솔에서 스트리밍 낙오 항목 보기

Dataflow 작업을 시작한 후 Google Cloud 콘솔을 사용하여 감지된 낙오 항목을 볼 수 있습니다.

스테이지 진행 상태 뷰 또는 스테이지 워크플로 뷰에서 스트리밍 낙오 항목을 볼 수 있습니다.

스테이지 진행 상태별 낙오 항목 보기

스테이지 진행 상태별로 낙오 항목을 보려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Dataflow 작업 페이지로 이동합니다.

    작업으로 이동

  2. 작업 이름을 클릭합니다.

  3. 작업 세부정보 페이지에서 실행 세부정보 탭을 클릭합니다.

  4. 그래프 뷰 목록에서 스테이지 진행 상태를 선택합니다. 진행률 그래프에는 각 스테이지 내에서 감지된 모든 낙오 항목의 집계 수가 표시됩니다.

    스테이지 진행 상태 뷰의 스크린샷

  5. 스테이지의 세부정보를 보려면 스테이지 막대 위로 마우스를 가져갑니다. 세부정보 창에는 작업자 로그 링크가 포함됩니다. 이 링크를 클릭하면 작업자와 낙오 항목이 감지된 시간 범위로 범위가 지정된 Cloud Logging이 열립니다.

    낙오 항목 세부정보 카드의 스크린샷

스테이지 워크플로별 낙오 항목 보기

스테이지 워크플로별로 낙오 항목을 보려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Dataflow 작업 페이지로 이동합니다.

    작업으로 이동

  2. 작업 이름을 클릭합니다.

  3. 작업 세부정보 페이지에서 실행 세부정보 탭을 클릭합니다.

  4. 그래프 뷰 목록에서 스테이지 워크플로를 선택합니다. 스테이지 워크플로는 작업 실행 스테이지를 보여주며 워크플로 그래프로 표현됩니다.

    스테이지 워크플로 뷰의 스크린샷

스트리밍 낙오 항목 문제 해결

낙오 항목이 감지되었다면 파이프라인의 작업이 일반적으로 오랫동안 실행된 것입니다.

이 문제를 해결하려면 먼저 Dataflow 통계에서 문제를 포착할 수 있는지 확인합니다.

여전히 원인을 확인할 수 없으면 낙오 항목을 보고한 스테이지의 작업자 로그를 확인합니다. 관련 작업자 로그를 보려면 스테이지 진행 상태의 낙오 항목 세부정보를 확인합니다. 그런 다음 작업자의 링크를 클릭합니다. 이 링크는 작업자와 낙오 항목이 감지된 시간 범위로 범위가 지정된 Cloud Logging을 엽니다. 다음과 같이 스테이지 속도를 저하시킬 수 있는 문제를 찾습니다.

  • DoFn 코드의 버그 또는 중단된 DoFns. 로그에서 낙오 항목이 감지된 타임스탬프 근처의 스택 트레이스를 찾습니다.
  • 완료하는 데 오래 걸리는 외부 서비스에 대한 호출. 이 문제를 완화하려면 외부 서비스에 대한 일괄 호출을 실행하고 RPC에서 제한 시간을 설정합니다.
  • 싱크의 할당량 한도. 파이프라인이 Google Cloud 서비스로 출력되는 경우 할당량을 늘릴 수 있습니다. 자세한 내용은 할당량 작업을 참조하세요. 또한 최적화 전략에 대한 특정 서비스 문서 및 I/O 커넥터 문서를 참조하세요.
  • DoFns: 영구 상태에서 대규모 읽기 또는 쓰기 작업을 수행합니다. 영구 상태에서 소규모 읽기 또는 쓰기를 수행하도록 코드를 리팩터링하는 것이 좋습니다.

또한 부가 정보 패널을 사용하여 스테이지에서 가장 느린 단계를 찾을 수 있습니다. 이러한 단계 중 하나로 인해 낙오 항목이 발생할 수 있습니다. 단계 이름을 클릭하여 해당 단계의 작업자 로그를 봅니다.

원인을 확인한 후 새 코드로 파이프라인을 업데이트하고 결과를 모니터링합니다.

다음 단계