始めてみよう
edit始めてみよう
editKibanaにinstall X-Packすると、Search Profilerは自動的に有効になります。Kibanaの*DevTools*タブの下に配置されます
プロファイリングクエリを開始するには、次の手順を実行します。
- WebブラウザでKibanaを開き、ログインします。ローカルでKibanaを実行している場合は、`http://localhost:5601/`にアクセスします。
-
サイドナビゲーションのDevToolsをクリックして、Search Profilerを開きます。 コンソールは、DevToolsへの初回アクセス時に開かれるデフォルトのツールです。
上部のナビゲーションバーで、2つ目のアイテムの*Search Profiler*をクリックします。
-
これで、Search Profilerのインターフェイスが開きます。
-
デフォルトの`match_all`クエリをプロファイリングしたいクエリに置き換えて、*Profile*をクリックします。
Search Profilerには、検索されるインデックスの名前、各インデックス内のシャード、クエリにかかった時間が表示されます。次の例は、match_allクエリのプロファイリング結果を示しています。
.monitoring-kibana-2-2016.11.30
、.monitoring-data-2
、`test`という3つのインデックスが検索されました。testインデックスの情報をよく調べると、Cumulative Timeからクエリの実行に0.132msかかったことがわかります。インデックス内の5つのシャード(
DWZD0iosQNeJMTvb4q1JDw
0~5)のうち、シャード3が最も遅く(0.053ms)、次がシャード2(0.038ms)となっています。シャードはその時間で降順にソートされます。Cumulative Timeメトリックは、個別のシャード時間の合計です。 クエリが返るまでにかかった実際の時間(実測時間)である必要はありません。 シャードは複数のノードで平行して処理されることがあるため、実測時間はCumulative Timeよりも大幅に低くなる可能性があります。ただし、シャードが同じノードにあり、連続して実行される場合、実測時間はCumulative Timeに近くなります。
Cumulative Timeメトリックは、インデックスとシャードのパフォーマンスの比較には役立ちますが、実際の物理的なクエリ時間を表す必要はありません。
-
シャードの詳細なプロファイリング情報を表示するには、Expandボタンをクリックします。 これにより、シャードで実行したクエリコンポーネントの詳細が表示されます。
次の例には、シャードで実行された`"MatchAllDocsQuery"`が1つあります。 1つのクエリのみが実行しているため、時間を100%使っています。行の上にマウスを移動すると、Search Profilerは、そのクエリコンポーネントに関する追加情報を表示します。
このパネルには、低レベルのLuceneメソッドのタイミング分類が表示されます。詳細については、Timing Breakdownのリファレンス文書を参照してください。