Dataflow パイプラインのボトルネックを検出して解決する

ストリーミング パイプラインでは、ステップや変換が遅いとスループットが制限され、バックログが伝播してジョブ全体のレイテンシが増加する可能性があります。Dataflow ボトルネック検出機能は、バックログの原因となっている特定のステップを Google Cloud コンソールで自動的に特定してハイライト表示します。これにより、試行錯誤のデバッグを行わずに実行遅延を迅速に診断して解決できます。

Dataflow がボトルネックを特定して バックログを伝播させる方法のコンセプトの概要については、Dataflow ボトルネック 検出機能についてをご覧ください

始める前に

トラブルシューティングにボトルネック検出ツールを使用する前に、ジョブとプロジェクトが次の要件を満たしていることを確認してください。

  • 実行中のストリーミング Dataflow ジョブがある。
  • ジョブは Streaming Engine を使用して実行されている。Streaming Engine で実行されないジョブでは、ボトルネック検出はサポートされていません。
  • Dataflow ジョブを表示するために必要な Identity and Access Management(IAM)権限がある。詳細については、 Dataflow IAM ロールをご覧ください。

Google Cloud コンソールでアクティブなボトルネックを表示する

アクティブなボトルネックの通知とアラートは、Dataflow モニタリング インターフェースで直接確認できます。

  1. Google Cloud コンソールで、[Dataflow] ページに移動します。

    Dataflow に移動

  2. ジョブリストでストリーミング ジョブを選択して、ジョブの詳細ページを開きます。

  3. [ジョブグラフ] タブで、実行グラフを確認します。

    • アクティブなボトルネックが発生しているステップには、色付きの警告アイコンまたはアラートアイコンが表示されます。
    • アラートは、このステップで 5 分以上の処理遅延が発生したことを示します。
  4. 警告アイコンが表示されているステップをクリックします。

    失敗したステップが特定されたジョブグラフの例。

  5. 画面の右側にある [ステップ情報] パネルで、[ボトルネック] セクションを見つけます。このセクションには次の情報が表示されます。

    • ボトルネックの種類。たとえば、遅延、バックログが安定している、スタックしているなどです。
    • 診断エンジンによって特定された場合、考えられる原因。
    • 期間と関連する診断の詳細。

    [ステップ情報] パネルでのボトルネックの検出。

ボトルネックの原因を解決する

ボトルネックを解決するには、[ステップ情報] パネルで考えられる原因を特定し、[ボトルネックのトラブルシューティング]の手順に沿って操作します。

Monitoring でボトルネックをモニタリングする

プログラムによるアラートを設定する場合や、ボトルネック アクティビティを時系列で表示する場合は、Monitoring を使用します。ボトルネック検出ツールは、次の指標をエクスポートします。

これらの指標を使用してグラフとアラートを作成する方法については、 Dataflow に Monitoring を使用するをご覧ください。

次のステップ