ページの先頭行へ戻る
Symfoware Server V12.1.2 導入ガイド(サーバ編)
FUJITSU Software

J.4 並列検索機能で使用するメモリの見積り式

並列検索機能で使用するメモリの見積り式について説明します。

ワーカープロセスは、データベースをスキャンするために一種のbackendプロセスとして動作します。そのため、backendプロセスと同じように共有メモリとローカルメモリを消費します。また、アプリケーションから依頼を受け付けたbackendプロセスとの間で検索結果の共有を行うためのメモリも消費します。これらのメモリ量は以下のように計算してください。

ポイント

共有メモリは、IPC資源の消費を伴います。付録Lで算出した計算値に、以下の共有メモリ量を加算してください。

並列検索機能で使用するメモリ量 = ワーカープロセスの共有メモリ量
                                + 情報交換用のメモリ量
                                + ワーカープロセスのローカルメモリ量

ワーカープロセスの共有メモリ量

ワーカープロセスの共有メモリ量= (並列プロセスごとに消費される基礎メモリ
                                   + max_locks_pre_transaction
                                   × ロック情報のサイズ)
                               × max_parallel_workers

並列プロセスごとに消費される基礎メモリ
並列プロセスごとに消費される基礎メモリ = 1800バイト
ロック情報のサイズ
ロック情報のサイズ = 272バイト

情報交換用のメモリ量

情報交換用のメモリ量 = 検索結果の共有のためのメモリ量
                          + 検索結果の格納バッファサイズ

検索結果の共有のためのメモリ量
検索結果の共有のためのメモリ量 = 50メガバイト

検索結果の格納バッファサイズ
検索結果の格納バッファサイズ = 100メガバイト

ーカープロセスのローカルメモリ量

ワーカープロセスのローカルメモリ量 = (並列プロセスごとに消費される基礎メモリ
                                     +work_mem)
                                     ×max_parallel_workers

並列プロセスごとに消費される基礎メモリ
並列プロセスごとに消費される基礎メモリ = 3メガバイト
                                        × max_parallel_workers