クエリー・メトリクスMBean

クエリー・パフォーマンスのトラブルシューティング、DSE Searchの構成の調整、およびサーバー・リソースの調整を行います。

クエリー・メトリクスMBeanを使用して、クエリー・パフォーマンスのトラブルシューティング、DSE Search構成(検索インデックス・スキーマやキャッシュなど)の調整、サーバー・リソース(JVMヒープなど)の調整を行います。クエリー・メトリクスMBeanは、検索インデックスで分散クエリーの複数のメイン・フェーズを実行するために費やした時間の長さを記録します。

クエリー・メトリクスMBeanは、レイテンシーをマイクロ秒単位で測定します。

クエリー別にグループ分けするには、追加のquery.nameパラメーターを指定します。たとえば、demo.solrという名前の検索インデックスと、typeという名前のインデックス・フィールドがある場合、以下のURLを使用して追加のquery.nameパラメーターを指定します。
http://localhost:8983/solr/demo.solr/select/?q=type:1&query.name=myquery
指定されたクエリー名で収集されたメトリクスはすべて、個別に記録され、取得されます。クエリー名が指定されない場合、すべてのメトリクスがまとめて記録されます。

操作のメイン・フェーズ

分散クエリー操作のメイン・フェーズは、以下のとおりです。
COORDINATE
コーディネーター・ノードがクエリーを分散させ、シャードからの結果を収集/処理するために費やした時間の長さで構成されます。この値は、クエリー・コーディネーター・ノードでのみ計算されます。
EXECUTE
1つのシャードが実際のインデックス・クエリーの実行に費やした時間で構成されます。この値は、シャード・クエリーを実行するローカル・ノードで計算されます。
RETRIEVE
1つのノードがデータベースから1つの行を取得するために費やした時間で構成されます。この値は、要求されたデータをホストするローカル・ノードで計算されます。

クエリー・メトリクスMBeanのセット操作

操作は以下のとおりです。

  • setEnabled(boolean enabled)

    メトリクスの記録を有効/無効にします。デフォルトでは有効になっています。

  • isEnabled()

    メトリクスの記録が有効になっているかどうかを確認します。

  • getLatencyPercentile(String phase, String query, double percentile)

    クエリー・レイテンシー・パーセンタイルをそのクエリー名別に取得します。これは任意であり、nullおよびphaseにすることができます。

  • getRecordedLatencyCount(String phase, String query)

    記録されたレイテンシー・メトリクスの総数をそのクエリー名別に取得します。これは任意であり、nullおよびphaseにすることができます。

  • getUnrecordedLatencyCount()

    追跡されるレイテンシーの最大値10分を超えたため記録されていないレイテンシー値の総数を取得します。

  • resetLatency(String query)

    指定されたクエリー名に関するレイテンシー・メトリクスをリセットします。これは任意であり、nullにすることができます。

  • resetLatencies()

    すべてのレイテンシー・メトリクスをリセットします。