ワークブック パフォーマンスの記録と分析

ワークブックが完了し、パフォーマンスの速度が本来よりも遅い理由について疑問が出ることがあります。パフォーマンス低下の原因を見つけるには、パフォーマンスの記録を使用してワークブックを評価します。ワークブックを共有またはパブリッシュする予定がある場合、これは特に良い考えです。

Tableau のパフォーマンス記録機能は、ワークブックの操作中に主要なイベントのパフォーマンス情報を記録します。次に、Tableau が作成するワークブックでパフォーマンス メトリクスを確認し、パフォーマンスに影響することが知られているさまざまなイベントの分析やトラブルシューティングを行うことができます。

  • クエリの実行

  • クエリのコンパイル

  • ジオコーディング

  • データ ソースへの接続

  • レイアウト計算

  • 抽出の生成

  • データのブレンド

  • サーバー レンダリング (Tableau Server のみ)

Tableau サポートにより、パフォーマンス問題の診断を支援するため、パフォーマンス ワークブックの作成が要請されることがあります。

Tableau Desktop でパフォーマンスの記録を作成する

パフォーマンスの記録を開始するには、次の手順に従います。

[ヘルプ] > [設定とパフォーマンス] > [パフォーマンスの記録の開始]

記録を停止して記録セッションからの結果を含む一時ワークブックを表示するには次の手順に従います。

[ヘルプ] > [設定とパフォーマンス] > [パフォーマンスの記録の停止]

これで、ワークブックのパフォーマンスを確認し、分析を開始できます。

[ファイル] > [保存] をクリックして、選択した場所にワークブックを保存します。Tableau Support に記録を送信する場合は、このワークブックをパッケージド ワークブック (.twbx) ファイルとして保存して、サポートに送信できます。

パフォーマンス記録ワークブックの解釈

パフォーマンス記録ワークブックには、[Performance Summary (パフォーマンス サマリー)] と [Detailed Views (詳細ビュー)] という 2 つの主要なダッシュボードがあります。[Performance Summary (パフォーマンス サマリー)] ダッシュボードには、最も時間のかかるイベントの高度な概要が表示されます。[Detailed Views (詳細ビュー)] ダッシュボードには詳細な情報が表示され、上級ユーザーがワークブックを作成するときに使用することを目的としています。[Detailed Views (詳細ビュー)] ダッシュボードは、パフォーマンス記録ワークブックが Tableau Desktop を使用して開かれた場合にのみ表示されます。

Performance Summary (パフォーマンス サマリー)

[Performance Summary (パフォーマンス サマリー)] ダッシュボードには、[タイムライン][イベント]、および [クエリ] の 3 つのビューがあります。

タイムライン

パフォーマンス サマリー記録ダッシュボードの一番上のビューには、記録中に発生したイベントが左から右へ時系列で配置され表示されます。一一番下の軸には、Tableauが起動してからの経過時間が秒数で表示されます。

[タイムライン] ビューでは、[ワークブック][ダッシュボード][ワークシート] の各列にイベントのコンテキストが識別されます。[イベント] の列には、イベントの性質が識別され、最終列には各イベントの期間と他の記録されたイベントとの時系列比較が表示されます。

イベント

パフォーマンス サマリー ダッシュボードの中央のビューには、期間 (長時間から短時間) の順にイベントが表示されます。期間がより長いイベントは、ワークブックを高速化する場合の最初の注目点を識別するのに役立ちます。

異なる色は異なるタイプのイベントを表します。記録できるイベントの範囲は、次のとおりです。

  • レイアウトの計算

    レイアウトが長すぎる場合は、ワークブックの簡素化を検討します。

  • データ ソースへの接続

    遅い接続は、ネットワーク問題またはデータベース サーバー問題が原因として考えられます。

  • クエリのコンパイル

    このイベントは、Tableau がクエリの生成に費やした時間をキャプチャします。クエリのコンパイル時間が長い場合、生成されるクエリが複雑であるということです。そのような複雑さは、フィルターの数が多すぎたり計算が複雑であることに起因する場合もありますが、一般的にはワークブックが複雑であることに起因します。複雑な計算の例としては、長い計算、LOD 計算、ネストされた計算などがあります。ワークブックの簡略化、アクション フィルターの使用、または参照元データベースへの計算の移動を試みてください。

  • クエリの実行

    • ライブ接続では、クエリに時間がかかりすぎる場合、参照元のデータ構造が Tableau 用に最適化されていない可能性があります。データベース サーバーのドキュメントを参照してください。代わりに、抽出を使用してパフォーマンスの速度を上げることを検討してください。

    • 抽出でクエリに時間がかかりすぎる場合は、フィルターの使用を見直してください。フィルターの数が多すぎる場合、コンテキスト フィルターの方が適していませんか。フィルターを使用するダッシュボードがある場合は、パフォーマンスの向上に役立つアクション フィルターの使用を検討してください。

  • 抽出の生成

    抽出の生成を高速化するには、元のデータ ソースからデータの一部だけをインポートすることを検討します。たとえば、特定のデータ フィールドでフィルターしたり、指定された行数やデータのパーセンテージに基づいてサンプルを作成したりすることができます。

  • ジオコーディング

    ジオコーディングのパフォーマンスを高速化するには、少ないデータを使用するか、データをフィルターしてみます。

  • データのブレンド

    データ ブレンドを高速化するには、使用するデータを少なくするか、データをフィルターしてみます。

  • サーバー レンダリング

    別のマシンで追加の VizQL Server プロセスを実行することで、サーバー レンダリングを高速化できます。

クエリ

パフォーマンス サマリー ダッシュボードの [タイムライン] または [イベント] セクションのいずれかで、[クエリの実行] イベントをクリックすると、そのクエリのテキストが [クエリ] セクションに表示されます。

パブリッシュされたデータ ソースに接続されている場合、クエリのテキストが XML で表示されます。データ ソースに直接接続されている場合、以下のようにクエリが SQL で表示されます。

合理的であれば、データベース チームと協力するクエリ テキストを使用し、データベース レベルでデータを最適化できます。クエリが切り捨てられている場合は、Tableau ログで完全なクエリを検索する必要があります。ほとんどのデータベース サーバーでは、インデックスの追加やその他の方法によりクエリを最適化する方法が提案されています。詳細については、ご使用のデータベース サーバーのドキュメンテーションを参照してください。

効率性を高めるため、Tableau はデータに対する複数のクエリを 1 つのクエリへと組み合わせることがあります。この場合、NULL ワークシートに [クエリの実行] イベントが表示され、名前を付けたワークシートには実行されているクエリが何も表示されない場合があります。

Detailed Timeline (詳細なタイムライン)

このビューは [タイムライン] ビューの詳細版です。すべてのイベントを表示し、[タイムライン] ビューでグループ化された個々のアイテムを分離して表示します。上級ユーザーがワークブックをデザインする際に使用することを目的としています。

Detailed Views (詳細ビュー)

[Detailed Views (詳細ビュー)] ダッシュボードには、[Depth (深度)][Exclusive CPU (排他的 CPU)][Inclusive CPU (包括的 CPU)][Elapsed Time (経過時間)] ビューがあります。

Depth (深度)

[Depth (深度)] ビューは、[Detailed Views (詳細ビュー)] ダッシュボードの一番上に表示されます。要求が行われたときに何が起きているかを把握できます。このビューは、単一のユーザー要求を表示するようにフィルターした場合に最も役立ちます。ユーザー要求の例としては、ビューの読み込み、マークの選択、フィルターの変更などがあります。

[Depth (深度)] ビューの各バーは、単一のアクティビティを表します。アクティビティとは、ユーザー要求の処理の一部として実行される作業単位です。単一のユーザー要求により複数のアクティビティが実行されます。[Depth (深度)] ビュー上の各バーの長さは、バーが表すアクティビティの経過時間に比例します。

上位レベルのアクティビティがビューの上部に表示されます。下位のアクティビティは、上位レベルのアクティビティによって生成された子アクティビティです。

各バー上にカーソルを合わせると、アクティビティに関する詳細情報が表示され、次のセクションで説明する [CPU] および [Elapsed Time (経過時間)] ビューで対応する行がハイライトされます。

要求のどの部分が最も時間が掛かったかを絞り込むために、長時間実行される最上位レベルのアクティビティを調査します。

CPU および Elapsed Time (経過時間)

[CPU] および [Elapsed Time (経過時間)] ビューは、[Detailed Views (詳細ビュー)] ダッシュボードの一番下に表示されます。ラジオ ボタンをクリックすると、[Exclusive CPU (排他的 CPU)][Inclusive CPU (包括的 CPU)][Elapsed Time (経過時間)] の各ビューが切り替わります。

[Depth (深度)] ビューは、長時間実行されるアクティビティを視覚的にすばやく識別するのに役立ちます。ただし、各インスタンスの時間が短いアクティビティが複数回発生する場合、そのようなアクティビティがハイライトされるとは限りません。[Exclusive CPU (排他的 CPU)][Inclusive CPU (包括的 CPU)][Elapsed Time (経過時間)] ビューには、各アクティビティの総統計が表示されます。アクティビティが実行された回数が [カウント] 列に表示され、1 つのアクティビティに掛かった合計時間が棒グラフで表示されます。

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!