Confluence Data Center の外部プロセス プール
In Confluence Data Center we minimize the impact of particularly memory or CPU intensive actions by handling them in an external process pool, which is a separate pool of processes, managed by Confluence. These processes (also known as sandboxes) can crash or be terminated, and will be restarted automatically by Confluence, without affecting the Confluence application itself.
外部プロセス プールは現在次のアクションを処理します。
- ドキュメント変換 (ファイル プレビュー用のサムネイルの生成)
- スペースの PDF エクスポート
外部プロセス プールは Confluence Data Center でのみ利用できます。
Confluence Server ではこれらの処理は Confluence によって行われるため、このページの情報は適用されません。
メモリ要件
クラスタ内の各 Confluence ノードに、外部プロセス プール用に十分なメモリがあることを確認する必要があります。プールには既定で 2 つのプロセス (サンドボックス) が含まれます。そのため、Confluence で既に要求されている容量に加えて 2 GB (サンドボックスあたり 1 GB) を空けておくことをお勧めします。
外部プロセス プールの数を増やした場合は、各ノードに、外部プロセス プール用に十分な空きメモリがあることを確認してください。
外部プロセス プールを設定する
ほとんどの場合は既定値が適していますが、システム管理者はシステム プロパティを使用して外部プロセス プールを設定できます。たとえば、プールのサイズ (利用可能なプロセスの数) を増やしたり、プロセスが終了するまでの時間を増やしたりすることができます。変更が必要な場合がある主なプロパティは次のとおりです。
- conversion.sandbox.pool.size
プール内のプロセス (サンドボックス) の数を増やすには、このプロパティを使用します。追加するそれぞれのプロセスについて、各ノードで追加メモリを許可する必要があります。 - conversion.sandbox.memory.limit.megabytes
プール内の各プロセス (サンドボックス) が消費できるメモリの量を制限するには、このプロパティを使用します。
これらのプロパティの完全な説明と、特定のアクションに対するサンドボックスの微調整や完全な無効化に使用できる追加プロパティについては、「認証済みのシステム プロパティ」を参照してください。
失敗したアクションの監視
外部プロセス (サンドボックス) の処理が終了すると、対象のノードに次のアプリケーション ログが記述されます。
2018-04-09 17:35:35 WARN [sandbox-terminator]
[impl.util.sandbox.DefaultSandbox] lambda$startTerminator$0 Request
has taken 33384ms exceeds limit 30000ms terminating sandbox
この後、任意のユーザーが次に外部 プロセス プールを使用するアクションを実行しようとしたときに、Attempting to restart the sandbox というメッセージが表示されます。
Note that the process is not immediately restarted after termination, as we don't re-attempt failed actions. We wait for the next request to spin up a new sandbox process.