Tableauの「パフォーマンスの記録」の使い方と注意点
Tableauのパフォーマンスを改善する場合によく使う機能が「パフォーマンスの記録」です。
この機能はTableauの内部処理を把握することができ、何が遅い原因なのかを理解することができ私もよく利用しています。
パフォーマンスの記録の使い方
私はTableau Desktopでのパフォーマンス記録の使い方は以下の流れになります。
-
フィルターやボタンなど何らかのアクション前の状態にする。
(下記は)
-
メニューから「パフォーマンスの記録の開始」を選択
-
フィルターやボタンなどのアクションを実行
-
メニューから「パフォーマンスの記録の停止」を選択
-
少し待つと別ウインドウでパフォーマンスの記録の結果が表示されます。
複数アクションをまとめて記録すると調査がしにくくなるので、1アクションごとに記録してパフォーマンスの調査を行っています。
パフォーマンスの記録の見方
パフォーマンス記録では、処理にかかった時間(Elapsed Time)が表示されますので、何の処理に時間がかかっているかを見ることができます。
私が注目してみるのは、Executing Queryと呼ばれるTableauがSQLを発行してデータを取得する部分です。Executing Queryのチェックポイントは下記の2点になります。
- 想定通りのSQLを実行しているか、それともトリッキーなSQLを実行しているか?
- Executing Queryで余分なSQLが実行されていないか?実行自体を減らせないか?
ここを読み解くのはSQLの知識が必要になります。Tableauは計算フィールドやLOD表現などで時々トリッキーなSQL(複雑なサブクエリ)を発行することがありますので、それを見ながら計算フィールドを調整してシンプルなSQLを実行するように調整しています。
その他の項目も一応は確認しますが、Excecuting Queryが適切な形になっていれば経験上パフォーマンスは大きく改善していると思います。
パフォーマンスの記録を見やすくする
1つのダッシュボードに多数のシートを組み込んでいる場合にパフォーマンス記録を見ると、どのシートのパフォーマンスのせいで遅いのかがわかりにくいです。
そこで、パフォーマンス記録のワークブックを少しいじることで見やすくすることができます。
-
Eventsシートを開いて、行の先頭に「Worksheet」をドラッグ
-
Performance Summaryのダッシュボードにもシート名が表示されます。
これにより、どのシートで発行されるQueryが遅いかがわかりやすくなります。
その上で、遅い原因のシートから改善作業を進めていくのがいいかと思います。
パフォーマンスの記録の注意点
パフォーマンスの記録をしていると、処理が急に速くなる場合があります。パフォーマンスの改善の結果であればいいのですが、キャッシュが原因で速くなっていることもあります。
Tableau Serverにはキャッシュの機能がありますが、Tableau Desktopにもキャッシュの機能があるので、キャッシュが機能するとパフォーマンスの記録の内容が改善されることがあります。
そのために、パフォーマンス記録をする前にキャッシュを消す必要があります。
Tableau Desktopの場合は以下にキャッシュを消す方法が書いてありますので、参考にしてください。
私はとりあえず記録してみてキャッシュが効いていそうな場合は、上記に従ってデータソースを更新する方法を実行しています。
まとめ
今回はTableauのパフォーマンス改善での重要な機能である「Tableauのパフォーマンスの記録」の使い方をまとめました。他のサイトでも使い方は記載されているのですが、キャッシュについて言及しているものが見られなかったので注意点として書かせていただきました。
Discussion