全文検索FESSのチューニング
最初に
チューニングとか偉そうなことを書いてはいるものの、
私は全然中身を熟知していないし、トライアンドエラーでなんとか動かしているくらいのレベル感なのでそんなに大したものではありません。
こればかりは環境にもよるのであくまでもここでこんな設定ができるくらいの参考として書き残しておくものです。
Opensearchのメモリ確保
私の環境ではデフォルト設定でクロールを進めていると50万ファイルくらいを超えたところでFESSとOpensearchが接続できなくなってしまいました。
なんのエラーだったか記録しておけばよかったのですが、なんかメモリが足らんとかそんな感じ。
そこで、"D:\opensearch-2.8.0\config\jvm.options" の値を
-Xms2g
-Xmx4g
と書き換えることで正常に動作するようになりましたが、
インデックスされたファイル件数が100万を超えたところで最終的にXmx6gまで増やしています。
FESSのメモリ確保
こちらもクロール中のエラーとかで落ちるようになってきたので、
途中からメモリを増量
"D:\fess-14.9.1\bin\fess.in.bat"の値を編集します。
REM ***** JAVA options *****
if "%FESS_MIN_MEM%" == "" (
set FESS_MIN_MEM=2g
)
if "%FESS_MAX_MEM%" == "" (
set FESS_MAX_MEM=6g
)
FESSのクローラヒープメモリの確保
こちらもクロール中のエラー停止対策で実施
"D:\fess-14.9.1\app\WEB-INF\classes\fess_config.properties"の値を編集します。
#JVM options
jvm.crawler.options=
-Djava.awt.headless=true\n
-Dfile.encoding=UTF-8\n
-Djna.nosys=true\n
-Djdk.io.permissionsUseCanonicalPath=true\n
-Dhttp.maxConnections=20\n
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager\n
-server\n
-Xms1g\n
-Xmx4g\n\
メモリ関係はこれくらいかな。
環境によるしリソースは無限ではないので、ちょっとずつ増やして快適に動くところで留めておくくらいがいいと思います。
効果がなければ潔く元に戻す。他に回す。
というのも試験運用のうちに試しておくと良いでしょう。