始めてみよう

edit

Kibanaにinstall X-Packすると、Search Profilerは自動的に有効になります。Kibanaの*DevTools*タブの下に配置されます

プロファイリングクエリを開始するには、次の手順を実行します。

  1. WebブラウザでKibanaを開き、ログインします。ローカルでKibanaを実行している場合は、`http://localhost:5601/`にアクセスします。
  2. サイドナビゲーションのDevToolsをクリックして、Search Profilerを開きます。 コンソールは、DevToolsへの初回アクセス時に開かれるデフォルトのツールです。

    Opening DevTools

    上部のナビゲーションバーで、2つ目のアイテムの*Search Profiler*をクリックします。

    Opening the Search Profiler
  3. これで、Search Profilerのインターフェイスが開きます。

    Search Profiler Interface
  4. デフォルトの`match_all`クエリをプロファイリングしたいクエリに置き換えて、*Profile*をクリックします。

    Profiling the match_all query

    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)となっています。シャードはその時間で降順にソートされます。

    Profile details for the test index

    Cumulative Timeメトリックは、個別のシャード時間の合計です。 クエリが返るまでにかかった実際の時間(実測時間)である必要はありません。 シャードは複数のノードで平行して処理されることがあるため、実測時間はCumulative Timeよりも大幅に低くなる可能性があります。ただし、シャードが同じノードにあり、連続して実行される場合、実測時間はCumulative Timeに近くなります。

    Cumulative Timeメトリックは、インデックスとシャードのパフォーマンスの比較には役立ちますが、実際の物理的なクエリ時間を表す必要はありません。

  5. シャードの詳細なプロファイリング情報を表示するには、Expandボタンをクリックします。 これにより、シャードで実行したクエリコンポーネントの詳細が表示されます。

    次の例には、シャードで実行された`"MatchAllDocsQuery"`が1つあります。 1つのクエリのみが実行しているため、時間を100%使っています。行の上にマウスを移動すると、Search Profilerは、そのクエリコンポーネントに関する追加情報を表示します。

    Profile details for the first shard

    このパネルには、低レベルのLuceneメソッドのタイミング分類が表示されます。詳細については、​Timing Breakdownのリファレンス文書を参照してください。