クエリー・メトリクスMBean

クエリー・メトリクスMBeanは、クエリー・パフォーマンスのトラブルシューティング、Solr構成(スキーマやキャッシュなど)のチューニング、サーバー・リソース(JVMヒープなど)のチューニングに便利です。

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

クエリー・メトリクスMBeanは、レイテンシーをマイクロ秒単位で測定します。追加のquery.nameパラメーターを提供することで、複数のメトリクスをクエリー別にグループ分けできます。たとえば、demo.solrという名前のSolr coreを使用しており、typeという名前のフィールドのインデックス作成が完了したと想定すると、以下のURLによって追加のquery.nameパラメーターが提供されます。
http://localhost:8983/solr/demo.solr/select/?q=type:1&query.name=myquery
指定されたクエリー名の下で収集されたメトリクスはすべて、個別に記録され、取得されます。クエリー名が提示されない場合、すべてのメトリクスがまとめて記録されます。

操作のメイン・フェーズ

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

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