参考:検索該当総数の上限値とメモリ使用量について

検索該当総数の上限値とは

「検索該当総数の上限値」とはLuxorサーバの設定項目の1つで、全文結果実行時に検索結果として取得する上限値を指定(※)します。この値が大きいほど検索結果に対する権限チェック処理の実行回数が増え、結果としてINSUITE® APサーバ、Sm@rtDB APサーバおよびLuxorサーバのメモリ使用量が増加します。

※Luxorサーバのsetup.confにおける"maxSerachRow"で設定します。(初期値は1000件)

検索該当総数の上限値設定によるメモリ使用量の変化

ここでは、「検索該当総数の上限値」によってSm@rtDB APサーバとLuxorサーバのメモリ使用量にどのような変化があるかをまとめます。

※INSUITE® APサーバのメモリ使用量については、準備が整い次第公開致します。

測定条件

サーバ構成 Luxorサーバ x 1台
Sm@rtDB APサーバ x 4台
Sm@rtDB DBサーバ x 1台
NFSサーバ x 1台
物理メモリ Luxorサーバ:12G
Sm@rtDB APサーバ:12G
Sm@rtDB DBサーバ:16G
NFSサーバ:6G
Luxor サーバOS RHEL6/64bit
Sm@rtDB APサーバ OS RHEL6 64bit
CPU E5645 @ 2.4GHz
Luxorサーバ:4cpu
Sm@rtDB APサーバ:4cpu
Sm@rtDB DBサーバ:8cpu
検索対象機能 ①バインダ一覧からの全文検索
②文書一覧からの全文検索
ヒットする検索インデックス数 約225万

以下の可変要素で検証を行いました。

  • 検索対象機能:バインダ一覧からの全文検索、文書一覧からの全文検索
  • 検索該当総数の上限値(maxSerachRow):1000,10000,100000,200000

測定結果

Sm@rtDB APサーバ

対象機能 検索該当総数の上限値(maxSerachRow) メモリ使用量(MB)
バインダ一覧からの全文検索 1000 257
10000 110
100000 567
200000 703
文書一覧からの全文検索 1000 45
10000 106
100000 61
200000 56

「検索該当総数の上限値」の値が大きくなるにつれてメモリ使用量が増加することが確認できます。
「バインダ一覧からの全文検索」において「検索該当総数の上限値」を"100000"とした場合、メモリ使用量が減少したように見えますが、これはガーベッジコレクションの実行によるものです。
「文書一覧からの全文検索」でも同様の傾向が確認されています。

Luxorサーバ

対象機能 検索該当総数の上限値(maxSerachRow) メモリ使用量(MB)
バインダ一覧からの全文検索 1000 54
10000 203
100000 387
200000 665
文書一覧からの全文検索 1000 35
10000 180
100000 571
200000 486

こちらも「検索該当総数の上限値」の値が大きくなるにつれてメモリ使用量が増加することが確認できます。

検索該当総数の上限値とメモリ使用量