マージ・メトリクスMBean

マージ操作を調整するために使用されるマージ・メトリクスMBean。

マージ・メトリクスMBeanは、Apache Solr/Apache Lucene®がディスクに蓄積されたセグメントのマージに費やす時間を追跡します。セグメントは、新しいドキュメントを格納するファイルであり、独自のインデックスが付いています。データが削除されても、Luceneはそのデータを取り除かず、代わりにドキュメントに「削除済み」の印を付けます。たとえば、マージ・プロセスでLuceneがデータを100個のセグメント・ファイルから1つの新しいファイルにコピーするとします。「削除済み」のマークが付いたドキュメントは、この新しいセグメント・ファイルには含められません。次に、Luceneは100個の古いセグメント・ファイルを削除し、1つの新しいファイルがディスクに書き込まれてインデックスが保持されます。

セグメントは、ディスクに書き込まれた後は、不変になります。

高スループット環境では、セグメント・ファイルが1つであることはまれです。通常は、ファイルが複数あり、Luceneがマージ・ポリシーとマージ・スケジュールを使って、マージ・メトリクス操作をデータの挿入処理および更新処理と同時に実行します。

マージ操作はコストが高いため、CQLクエリーのパフォーマンスが低下する可能性があります。非常に大きいマージ操作を行うと、クエリー実行時間が突然長くなる可能性があります。

操作のメイン・フェーズ

インデックス上でのマージ操作のメイン・フェーズは以下のとおりです。
INIT
マージ・プロセスの初期化にかかる時間。
EXECUTE
マージ・プロセスの実行にかかる時間。
WARM
セグメントをウォーム・アップしてコールド・クエリーをスピード・アップするためにかかる時間。

WARM時間は、EXECUTE時間の一部です。つまり、EXECUTE時間 = WARM時間 + その他の操作。たとえば、EXECUTEフェーズが340 ms、WARMフェーズが120 msの場合、その他の操作は残りの220 msを占めます。

マージ・メトリクスMBean操作には以下があります。
  • getRecordedLatencyCount
  • getLatencyPercentile
  • getAverageLatency
  • resetLatency
  • resetLatencies
マージ・メトリクスMBean操作を示しているJConsole。

マージ・メトリクスを取得するには、マージ操作のフェーズのいずれかを挿入し、EXECUTEなどのフェーズを1つ選択します。