Lookerのパフォーマンスの問題を解決したい!原因別解決方法

  • 8 December 2021
  • 0 replies
  • 85 views

Lookerが重い・・・と思ったらまずは原因を調査しましょう!

Lookerでのパフォーマンス問題の原因は主に4つに分類されます。

発生している事象によって原因が異なるので、どれに当てはまるか順番に見ていくのがおすすめです。↓

 

1. データベースの負荷

 

LookerはDBにクエリを投げ、実際にクエリを処理するのはDBです。Lookerは、DBから帰ってきた結果を表示します。

Dashboad/Look/Exploreの画面自体は開けるけれど、なかなか結果が表示されない場合は、DB側での処理に時間がかかっている場合が多いです。

 

事象:

  • Lookやdashboardのページは表示されているが、tileやvisualization部分が長い間loadingしている

  • 特定のクエリの実行に時間がかかっているが、Lookerインスタンス内の他のページはスムーズに開く

 

原因:

Lookerから接続しているDBへ負荷をかけ過ぎているのが原因です。特に、複数のクエリを同時に実行している場合は、クエリが実行待ちのキューに入ったりしてさらに時間がかかることがあります。

System ActivityのDatabase Performance dashboardを使用して、クエリの数や時間がかかっているクエリを確認することができるので、ぜひ活用してみて下さい。

また、Admin>Queries から直近のクエリの状況を確認することができます。

 

解決方法:

基本的には処理性能を上げるようにDB側の設定を変更するか、Lookerインスタンス側でDBに極力負荷がかからないように設定を見直す必要があります。

Looker側でできることとしては

  • クエリが取得する結果が多くならないよう、Row limitを設定したりデータにフィルタをかける
  • 同時に大量のクエリを発行しないようDashboard上のタイルの数を減らす/スケジューラーの間隔をあける
  • PDTを作成してクエリの負荷を減らす
  • Datagroupなどを使用してキャッシュを作成し、DB対して発行されるクエリの数を減らす

などがあります。

Lookerがどのような時にキャッシュを使用するか、実際に実行したクエリがキャッシュを参照したか調べる方法はこちらのポストをご覧ください。

 

2. インスタンスの負荷

 

事象:

  • Lookerインスタンス全体でページからページへの移動が遅い

  • インスタンスがダウンしている

  • 同時に複数のユーザーがインスタンスが重い事象を経験している

 

原因:

Lookerのサーバーで同時刻に実施されている処理が多い場合、インスタンスが重くなることがあります。

原因として考えられるのは、同じ時間帯に大量のスケジューラーを設定している、大量のユーザーが同時にアクセスしている、などがあります。

System ActivityのInstance Performance dashboardを使用して、スケジューラーの数などインスタンスのパフォーマンスに影響を与えることが多い要素をモニターすることができるので活用してみてください。

 

解決法:

  • 大量のスケジュールを一度に設定している場合は、間隔をあけて設定し直す

  • ユーザー数が当初の想定より増えている場合は、インスタンスをアップサイズする(サポートに連絡)

などがあります。


 

3. ブラウザの負荷

 

事象:

  • 特定のページが表示されなかったり表示が遅いが、他のページはすぐに表示される

  • フィールドが対象にあるVisualizationの表示が遅い

 

原因:

ブラウザはLookerが返すデータを表示しますが、ブラウザが表示できるデータ量は限られており、大量のデータが入ったExplorerを開くだけでブラウザがクラッシュする可能性があります。

この場合はそのページを開いたユーザーのみが影響を受け、Lookerの他のページには影響がありません。

 

解決法:

  • 表示されるフィールド数や要素を減らす

などがあります。

 

 

4. ネットワークのレイテンシー

 

事象:

  • Lookerの表示が遅いが、他のネットワークからアクセスしている他の作業者は通常通り使用できる

 

原因:

Looker は Web アプリケーションであるため、Looker とのやり取りはすべてインターネットを介した情報の送信に依存します。ネットワークの状態が悪いと、データベース、インスタンス、ブラウザすべてに影響を与えます。

 

解決法:

  • 他のネットワークを使用してLookerにアクセスする

  • DB、Lookerインスタンス、ブラウザ間のネットワークに問題がないか確認する

などがあります。

 

以上、Lookerのパフォーマンス問題の調査のお役に立てれば幸いです。


0 replies

Be the first to reply!

Reply