Tableauのワークブックパフォーマンスを見る
Tableauで様々なVizを作成、特にマップを用いたダッシュボードなどを作成すると処理が重く(反応が遅く)なります。
そんな時にTableauの機能である「パフォーマンスの記録」を使うとどの部分に処理時間がかかっているのかを確認し対策を検討する事ができます。
今回はパフォーマンスの記録の操作方法及び結果画面の見方を簡単に紹介します。
ワークブック パフォーマンスの記録と分析 - Tableau
パフォーマンスを記録する
①TableauDesktop の「ヘルプ」>「設定とパフォーマンス」>「パフォーマンスの記録を開始」をクリックします。
②ワークシート、もしくはダッシュボードで必要な操作(アクション)を行います。
③操作が終われば「パフォーマンスの記録を停止」(①と同じ場所)をクリックし記録を終了します。
パフォーマンスの結果を見る
パフォーマンス記録が終了すると、新たにパフォーマンス記録ワークブックが作成されます。
こちらは[Performance Summary (パフォーマンス サマリー)] と [Detailed Views (詳細ビュー)] という 2 つの主要なダッシュボード表示されます。
[Performance Summary (パフォーマンス サマリー)] ダッシュボードには、最も時間のかかるイベントの高度な概要が表示されます。
[Detailed Views (詳細ビュー)] ダッシュボードには詳細な情報が表示され、上級ユーザーがワークブックを作成するときに使用することを目的としています。
※[Detailed Views (詳細ビュー)] ダッシュボードは、パフォーマンス記録ワークブックが Tableau Desktop を使用して開かれた場合にのみ表示されます。
詳細ビューは上級向けなので、今回は「パフォーマンスサマリダッシュボード」の[タイムライン]、[イベント]のビューを紹介します
※ [クエリ] の ビューもありますが今回は省略します。
①タイムライン
パフォーマンス サマリー記録ダッシュボードの一番上のビューには、記録中に発生したイベントが左から右へ時系列で配置され表示されます。一一番下の軸には、Tableauが起動してからの経過時間が秒数で表示されます。
[タイムライン] ビューでは、[ワークブック]、[ダッシュボード]、[ワークシート] の各列にイベントのコンテキストが識別されます。[イベント] の列には、イベントの性質が識別され、最終列には各イベントの期間と他の記録されたイベントとの時系列比較が表示されます。
②イベント
パフォーマンス サマリー ダッシュボードの中央のビューには、期間 (長時間から短時間) の順にイベントが表示されます。期間がより長いイベントは、ワークブックを高速化する場合の最初の注目点を識別するのに役立ちます。
異なる色は異なるタイプのイベントを表します。記録できるイベントの範囲は、次のとおりです。
レイアウトの計算
レイアウトが長すぎる場合は、ワークブックの簡素化を検討します。
データ ソースへの接続
遅い接続は、ネットワーク問題またはデータベース サーバー問題が原因として考えられます。
クエリのコンパイル
このイベントは、Tableau がクエリの生成に費やした時間をキャプチャします。クエリのコンパイル時間が長い場合、生成されるクエリが複雑であるということです。そのような複雑さは、フィルターの数が多すぎたり計算が複雑であることに起因する場合もありますが、一般的にはワークブックが複雑であることに起因します。複雑な計算の例としては、長い計算、LOD 計算、ネストされた計算などがあります。ワークブックの簡略化、アクション フィルターの使用、または参照元データベースへの計算の移動を試みてください。
クエリの実行
ライブ接続では、クエリに時間がかかりすぎる場合、参照元のデータ構造が Tableau 用に最適化されていない可能性があります。データベース サーバーのドキュメントを参照してください。代わりに、抽出を使用してパフォーマンスの速度を上げることを検討してください。
抽出でクエリに時間がかかりすぎる場合は、フィルターの使用を見直してください。フィルターの数が多すぎる場合、コンテキスト フィルターの方が適していませんか。フィルターを使用するダッシュボードがある場合は、パフォーマンスの向上に役立つアクション フィルターの使用を検討してください。
抽出の生成
抽出の生成を高速化するには、元のデータ ソースからデータの一部だけをインポートすることを検討します。たとえば、特定のデータ フィールドでフィルターしたり、指定された行数やデータのパーセンテージに基づいてサンプルを作成したりすることができます。
ジオコーディング
ジオコーディングのパフォーマンスを高速化するには、少ないデータを使用するか、データをフィルターしてみます。
データのブレンド
データ ブレンドを高速化するには、使用するデータを少なくするか、データをフィルターしてみます。
サーバー レンダリング
別のマシンで追加の VizQL Server プロセスを実行することで、サーバー レンダリングを高速化できます。
例えば上記のイベント画面では「クエリの実行」及び「レンダリング」に時間がかかっています。
フィルターの数が多すぎる事が原因と考えられるため、コンテキストフィルターにするなどの対処により軽減が可能と考えられます。
このようにパフォーマンスの記録は処理の高速化に役立ちますので是非、皆さんも活用してください。
この記事が気に入ったらサポートをしてみませんか?