皆様、こんにちは!s.zouです。
Tableauで作業したときに、こんな思いがありませんでしょうか?
- せっかく作り上げたワークブックなのに読込速度が遅い!
- 既存ワークブックの計算ロジックを改修したが、以前より早くなっているか確認したい!
その思いを実現するための、Tableauの「パフォーマンスの記録」機能を使ってみたらいかがでしょうか!
本日は、パフォーマンスの記録方法や、ログの見方について説明します。
Tableau Desktopでワークブックの初期パフォーマンスを記録
①「Tableau Desktop」を開きます。
(データソースの接続速度も含めて記録するため、測りたいtwbxやtwbファイルをそのまま開くではなく、Tableau Desktopを先に立ち上げることがおすすめ)
②「ヘルプ」→「設定とパフォーマンス」→「パフォーマンスの記録を開始」で、パフォーマンス記録を始めます。
③測りたいファイルを開きます。
④「ヘルプ」→「設定とパフォーマンス」→「パフォーマンスの記録を停止」で、パフォーマンスの記録を停止させます。
⑤記録を停止すると、パフォーマンスのデータが入ったワークブックが自動的に開かれます。
それではこちらの自動生成されたワークブックを見てみましょう。
Performance Summary
Performance Summaryでは、各イベントの概要が確認できます。
赤い枠にあるスライサーで各イベントの最低所要時間で絞ることができます。
こちらのスライサーを活用し、改善作業は所要時間の長いイベントから着手するといいかもしれません!
黄色い枠にあるグラフはイベントのタイムラインとなります。
記録中に発生したイベントは時系列で表示されています。
緑色の枠にあるグラフはイベントの所要時間一覧です。(所要時間が長い→短いの順)
所要時間の長いイベントは、高速化改善によるパフォーマンスの向上がより期待できるでしょうか。
それぞれのイベントに対して、公式サイトのヘルプより下記アドバイスをいただいています。
■レイアウトの計算(Computing Layout)
レイアウトが長すぎる場合は、ワークブックの簡素化を検討します。
■データ ソースへの接続(Connecting to DataSource)
遅い接続は、ネットワーク問題またはデータベース サーバー問題が原因として考えられます。
■クエリのコンパイル(Compile Query)
このイベントは、Tableau がクエリの生成に費やした時間をキャプチャします。クエリのコンパイル時間が長い場合、生成されるクエリが複雑であるということです。そのような複雑さは、フィルターの数が多すぎたり計算が複雑であることに起因する場合もありますが、一般的にはワークブックが複雑であることに起因します。複雑な計算の例としては、長い計算、LOD 計算、ネストされた計算などがあります。ワークブックの簡略化、アクション フィルターの使用、または参照元データベースへの計算の移動を試みてください。
■クエリの実行(Executing Query)
・ライブ接続では、クエリに時間がかかりすぎる場合、参照元のデータ構造が Tableau 用に最適化されていない可能性があります。データベース サーバーのドキュメントを参照してください。代わりに、抽出を使用してパフォーマンスの速度を上げることを検討してください。
・抽出でクエリに時間がかかりすぎる場合は、フィルターの使用を見直してください。フィルターの数が多すぎる場合、コンテキスト フィルターの方が適していませんか。フィルターを使用するダッシュボードがある場合は、パフォーマンスの向上に役立つアクション フィルターの使用を検討してください。
■抽出の生成(Generating extract)
抽出の生成を高速化するには、元のデータ ソースからデータの一部だけをインポートすることを検討します。たとえば、特定のデータ フィールドでフィルターしたり、指定された行数やデータのパーセンテージに基づいてサンプルを作成したりすることができます。
■ジオコーディング(Geocoding)
ジオコーディングのパフォーマンスを高速化するには、少ないデータを使用するか、データをフィルターしてみます。
■データのブレンド(Blending data)
データ ブレンドを高速化するには、使用するデータを少なくするか、データをフィルターしてみます。
■サーバー レンダリング(Server rendering)
別のマシンで追加の VizQL Server プロセスを実行することで、サーバー レンダリングを高速化できます。
Detailed Views
Detailed Viewsでは、より高度的な分析がサポートするビューが表示されています。
ここまではワークブックの読込パフォーマンスを記録する方法を説明しました。
パフォーマンス記録の開始・終了タイミングはいつでもできますので、
読込以外でも、フィルター、アクションのパフォーマンスの記録にも活用できます。
Tableau Serverでの記録方法
①まずサーバー管理者に「パフォーマンス記録」を有効してもらう必要があります。
②記録したいビューを開きます。
③ビューを開くと、Tableau Server により URL の後に ":iid=<n>" が追加されます。これはセッション ID です。例:
<http://10.32.139.22/#/views/Coffee_Sales2013/USSalesMarginsByAreaCode?:iid=1>
④セッション ID の直前、表示 URL の末尾に :record_performance=yes&
と入力します。例:
<http://10.32.139.22/#/views/Coffee_Sales2013/USSalesMarginsByAreaCode?:record_performance=yes&:iid=1>
⑤サイトを更新します。
⑥更新したら「パフォーマンス」のボタンが出てきます。パフォーマンス記録を終了したいタイミングにクリックします。すると、Desktopと同じようにパフォーマンス記録用のビューが表示されます。
⑦パフォーマンス記録用のビューをダウンロードすることができます。ダウンロードしてから自由に編集できますので、ほしい情報を抽出するように活用しましょう!
レポートのパフォーマンスを記録することで、データの読込速度や計算速度を把握できます。
また、速度の遅いレポートを改善するときに、根拠として参考できます。
「パフォーマンス記録」機能を活かして、速度の遅いレポートの改善を着手し始めましょう!