どうも、Tです。
FessのCPU使用率上限を変更してみた備忘録です。
スポンサーリンク
目次
環境
Fess 15.1
# dnf list installed | grep fess fess.noarch 15.1.0-1 @@commandline
インストールや細かい環境について下記の記事にまとめています。


Oracle Linux 9に全文検索システムFess 15.1.0をインストールしてみた
どうも、Tです。 全文検索システムのFessをインストールしてみた備忘録です。 やりたいこと
ファイルやWebサイトにため...
問題
Fessのクロールのスレッド数を増やしたり、大きなドキュメントのクロールが行われると/var/log/fess/fess-crawler.logに下記のような処理待ちを目撃する頻度が増えていきます。
INFO Cpu Load 87% is greater than 50%. 5 waiting thread(s).
これは、Fessの処理がCPUを食いつぶしてしまわないように、CPU使用率が50%を超えているとき処理待ちを行うようになっているためです。
FessのCPU負荷調整 - 今日のひとこと
クロールとか、サジェスト生成とか、CPUを使う処理がいろいろとありますが、CPUを使いすぎないようにするためのオプションをfess_config.propertiesに追加しました。 adaptive.load.cont … "FessのCPU負荷調整" の続きを読む
検索処理が遅くなったりするのも困りますが、50%でクロール処理の待ちが発生してしまうのも困るので、CPUの使用率の制限をもう少し緩くしてみます。
設定
設定ファイルを編集します。
# vi /etc/fess/fess_config.properties
下記の50%の制限を90%までに変更します。
---修正前 adaptive.load.control=50 ---修正後 adaptive.load.control=70
CPUの余力をどれほど持たせておくかは悩ましい問題です。クロール処理をしながら、全文検索をしたり、他に動作しているサービスを考えると70%~80%程度にしておいた方が安全な気がします。また、Fessで大き目のドキュメントをクロールするとインデックス化する際に、OpenSearch側のCPU処理も高くなるため、90%などの高い数値は避けておいた方が無難と思われます。
設定を反映するためFessを再起動します。
# systemctl restart fess
参考
FessのCPU負荷調整 - 今日のひとこと
クロールとか、サジェスト生成とか、CPUを使う処理がいろいろとありますが、CPUを使いすぎないようにするためのオプションをfess_config.propertiesに追加しました。 adaptive.load.cont … "FessのCPU負荷調整" の続きを読む
まとめ
この設定の対象となるのは、クロール・サムネイル生成・サジェスト生成ということなので、チューニングの際にどうしても上げる必要がある場合にしておいた方がいいのかもしれない…。