パフォーマンス最適化のためのRecommendations
- トピック:
- パフォーマンス最適化
作成対象:
- 経験者
- 管理者
データストアの設定\(必須\)
変更点は何ですか?
設定 org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.
の minRecordLength
プロパティの値を 100
に設定します。ファイルの日付保存と S3 データストアについて詳しくは、「AEM 6 でのノードストアとデータストアの設定 を参照してください。
どのような場合に設定するか?
初期設定後、コンテンツの移行前。 この変更は、既存のシステムでも実行する必要があります。これにより、新しいコンテンツはすべてセグメントストアではなくデータストアに保存されます。
この変更の結果
DITA ファイルは、セグメントストアではなくデータストアに保存されます。 これにより、セグメントストアのサイズが推奨される制限内に保たれるので、システムの応答性が向上します。
Lucene インデックスの更新\(必須\)
変更点は何ですか?
oak:index/lucene から/var/dxml を除外します。
どのような場合に設定するか?
コンテンツを移行する前に、新しいシステムでこの変更を行う場合は、oak:index/lucene の更新のみが必要です。 それ以外の場合は、コンテンツが既に移行されている既存のシステムで、oak:index/lucene を変更した後、Lucene のインデックスを再構築します\(完了するまで数時間かかる場合があります\)。
この変更の結果
この変更により、/var/dxml ノードのインデックスを作成して、セグメントストアに保存できなくなります。
Java メモリの最適化\(必須\)
変更点は何ですか?
JVM 開始パラメーターは、インフラストラクチャとディスクサイズに基づいて慎重に調整する必要があります。 Adobeサポートに問い合わせて、理想的な設定にアクセスするための支援を受けることをお勧めします。 ただし、次の設定は自分で試すことができます。
-
JVM ヒープサイズを、使用可能な合計メモリの 1/4 以上に設定します。 パラメーター
-Xmx<size>
を使用して、ヒープメモリサイズを設定します。 -Xms
の値を-Xmx
に設定します。 -
-XX:+HeapDumpOnOutOfMemoryError
を有効にして、-XX:HeapDumpPath=</path/to/folder
>
のパスを設定します。 -
Java GC ログを次のように有効にします。
* -XX:+PrintGCDateStamps
* -verbose:gc
* -XX:+PrintGCDetails
* -XX:+PrintTenuringDistribution
* -Xloggc:</path/to/gc.log>
– 一般に、Java 11 の場合は G1GC \(-XX:+UseG1GC
\)を使用し、Java 8 の場合はCMS \(– XX:+UseConcMarkSweepGC
\)を使用します。
--XX:NewRatio
を使用して、若年世代のメモリサイズのサイズを制御します。 デフォルト値は 2 です。つまり、メモリの 1/3 が若年世代に使用されます。 すぐに作成および破棄されるオブジェクトが多数あるので、値を 1 に設定すると、若い世代にメモリの 1/2 が割り当てられます。
-XX:MaxTenuringThreshold
を使用して、古い世代に昇格させるオブジェクトの数を制御します。 15 \(default\)の値を使用すると、オブジェクトが古い世代に昇格される際に遅延が発生します。
どのような場合に設定するか?
既存のシステムでこの変更を行う場合は、システムを再起動する必要があります。 新規インストールの場合、この変更は、システムを起動する前に起動スクリプト \(.bat または.sh\)ファイルで行う必要があります。
この変更の結果
その結果、最適なヒープサイズが得られ、GC の実行が調整されます。
オーサーインスタンスでのクライアントライブラリの縮小\(オプション\)
変更点は何ですか?
クライアントライブラリは、オーサリングインスタンスでは縮小に設定する必要があります。 これにより、ユーザーが様々な場所からシステムを参照する際に、ダウンロードするバイトが少なくなります。 この変更を行うには、Felix コンソールから HTMLライブラリマネージャー で設定を行います。
どのような場合に設定するか?
これは、実行時に Felix コンソールまたはコードのデプロイメントを使用して実行できます。
この変更の結果
この変更により、クライアントライブラリを読み込むために転送されるバイトが少なくなるので、オーサーインスタンス上のページの読み込み時間が短縮されます。
同時公開スレッドの設定\(ユースケースによっては必須\)
変更点は何ですか?
この変更は、DITA-OT を使用して出力を公開する場合に必要です。また、多数の同時公開スレッドも定義されています。
デフォルトでは、AEM Guidesは公開スレッドを CPU 数+1 に設定します。 ただし、この値を CPU 総数の半分の\(1/2\)または 3 分の 1 \(1/3\)に設定することをお勧めします。 これを行うには、設定 com.adobe.fmdita.publish.manager.PublishThreadManagerImpl
の下に、推奨事項に従って 生成プールサイズ プロパティを設定します。
どのような場合に設定するか?
これは、実行時に Felix コンソールまたはコードのデプロイメントを使用して実行できます。
この変更の結果
この変更により、実行中のオーサーインスタンスで、すべてのリソースが公開操作に割り当てられなくなります。 これにより、作成者がシステムリソースも使用できるので、ユーザーエクスペリエンスが向上します。
AEM Site 出力生成のノードのバッチサイズを設定します\(ユースケースによっては必須\)
変更点は何ですか?
AEM Sites出力を生成する場合は、この変更が必要です。
com.adobe.fmdita.config.ConfigManager
の下の ヒープ内のAEM サイトページを制限 プロパティを、システムの設定に基づく数値に設定します。 このプロパティは、サイトページの生成時にコミットされるノードのバッチサイズを定義します。 例えば、CPU の数とヒープサイズが大きいシステムでは、デフォルト値を 500
から大きい数に増やすことができます。 このプロパティの最適な値を得るには、変更した値で実行をテストする必要があります。
どのような場合に設定するか?
これは、実行時に Felix コンソールまたはコードのデプロイメントを使用して実行できます。
この変更の結果
ヒープ内のAEM サイトページを制限 プロパティの数が増えると、AEM サイト出力生成プロセスが最適化されます。
親トピック: ダウンロードとインストール