SOLR のインデクシングに関するヒント
トピック作成者:ks-solruserml-bot (2024/07/02 11:52 投稿)
10
(The bot translated the original post https://lists.apache.org/thread/xjz78hmjjplcj0gcv5qgyojptxjdny10 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
みなさん、
現在、Solrが書き込みパフォーマンスでボトルネックになっています(多くのCPUを使用し、書き込みがキューに溜まっています)。セットアップを大幅に変更せずに、それ以上の書き込みパフォーマンスを引き出す方法についてのヒントを探しています。
以下がセットアップです:
- Solr 8.2(重要な変更があるかもしれませんが、変更履歴を見てもパフォーマンスに大きな影響があるとは思いません)
- レプリカ設定(1つのノードがインデックス作成を担当し、他のノードは10分ごとにレプリケーション)。インデックスノードは8コア、16GのRAMを使用しています。
- 9つの異なるコアがあります。それぞれのコアはディスク上で約100MBを占め、約90,000件のドキュメントが含まれています。
- 更新はバッチサイズ1000で行われ、各コアごとに約9つのプロセスが並列で実行されています。
- セットアップはかなりシンプルで、特別な文字列処理器は使用せず、デフォルトの設定に近い状態です。コア設定でいくつかのフィールドタイプが定義されており、保存されるIDもごく一部です。
問題点:
- 現在、2つのコアと8GBのRAMを持つマシンで全ドキュメントの更新を処理するのに約3時間かかっています。
直感的な仮定:
- インデックス全体のサイズがかなり小さい(ディスク上で合計約1GB以下)で、インデックスを作成するマシンもかなり強力であるため、インデックス作成(更新)はかなり高速であるはずです(おそらくすべてのドキュメントに対して10分未満)。しかし、実際にはそれよりもはるかに長くかかっており、何か間違っている可能性があります。
探していること:
- 何がこの問題の原因となっているのかのアイデア
- 書き込みパフォーマンスのための共通のチェック項目やヒント、おすすめの参考資料
- 書き込みパフォーマンスの計測方法。たとえば、Solr側で時間がかかっている箇所をモニタリングする方法など、具体的に時間がかかっている箇所を絞り込む方法について
Solrの用語の誤用があれば申し訳ありません。
皆さんのヒントやご意見を、この場を借りてお伺いできれば幸いです。
Marius
トピックへ返信するには、ログインが必要です。