AEM オーサーの不安定性と、不十分なEBS ストレージパフォーマンス(AMS)によって引き起こされる深刻な遅延

この記事では、Adobe Managed Services(AMS)でホストされているAEM オーサーインスタンスで、EBS ボリュームタイプがAEMのTarMK リポジトリのI/O要件を満たさない、繰り返し発生するパフォーマンスの低下と不安定性について説明します。

説明 description

環境

Amazon EBS ストレージでサポートされているAdobe Managed Services(AMS)のTarMK リポジトリを使用したAdobe Experience Managerのデプロイメント。

問題/症状

AEM オーサーインスタンスでは、通常のオーサリングワークロード(以下の1つ以上を含む)で繰り返し不安定になります。

  • オーサーUIの応答時間は大幅に遅くなり、標準エディター、シェル、およびCSRF トークン要求の応答時間は1分以上になります。
  • 504のゲートウェイタイムアウトと404のエラーが作成者によって報告されました。
  • パブリッシュ操作が失敗したか、大幅に遅れました。
  • リモート DAMのイベント処理が遅れ、ブロックされる。

次の警告とエラーは、デグレード期間中またはデグレード後にerror.logに表示される場合があります。

*WARN* [ sling-oak-N-org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate-async]
org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler
Failed to create checkpoint <uuid> in 10 seconds.

*WARN* [ oak-lucene-N]
org.apache.jackrabbit.oak.plugins.index.lucene.directory.CopyOnReadDirectory
Couldn't compute safe timestamp to delete files from NIOFSDirectory@/mnt/crx/.../index/.../data

*WARN* [ oak-lucene-N]
org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier
File <segment> doesn't exist in /mnt/crx/.../repository/index/.../data

*WARN* [ sling-default-N-Registered Service.NNNNN]
com.adobe.cq.remotedam.internal.lifecycle.event.consumer.impl.LifecycleEventConsumerImpl
This sites instance is lagging far too behind Remote DAM. Pulling events is blocked

これらの期間にrequest.logを関連付けると、通常、ヘルスチェック、エディター、パルス、およびCSRF トークンのエンドポイントを同時に30秒から数分後に完了するリクエストのクラスターが表示されます。 このパターンは、単一の低速リクエストではなく、JVM全体のストールを示します。

原因

/mnt/crxに格納されているAEMのTarMK リポジトリは、セグメントストアの書き込み、チェックポイントの作成、Lucene インデックスの更新、およびコンパクションに対して、頻繁にシーケンシャルおよびランダムなI/O操作を実行します。 これらのリポジトリワークロードには、一貫したストレージ遅延と十分なIOPSが必要です。

標準的な磁気EBS ボリュームでは、これらのワークロードに対して十分なパフォーマンス特性が得られない場合があります。 ストレージ・スループットが制限されると、オペレーティング・システムはI/O待機を持続させることができ、複数のJVM スレッド・プールが同時に停止し、無関係なリクエストでアプリケーション遅延が広がります。

この問題は、gp3 EBS ボリュームが標準のリポジトリストレージオプションになる前に、もともと磁気EBS ボリュームでプロビジョニングされていた実稼動以外のAMS環境で最も一般的に発生します。 実稼動環境は、gp3 ストレージ上でプロビジョニングされたか、後でgp3 ストレージに移行されたため、多くの場合、影響を受けません。

解決策 resolution

繰り返し発生するAEM オーサーの不安定性、重大な遅延、リポジトリパフォーマンスの問題を特定して解決するには、次の手順に従います。

  1. 影響を受けるオーサーインスタンスで/mnt/crxをバックアップするAmazon EBS ボリュームタイプを確認します。 カスタマーサクセスエンジニア(CSE)に連絡して、ボリューム設定を確認し、リポジトリがgp3 EBS ボリュームでホストされているかどうかを判断してください。
  2. リポジトリが標準の磁気ストレージでホストされている場合は、gp3 EBS ボリュームへの移行を評価します。 AMS契約に基づいて、CSEでサービスやコストの考慮事項を確認します。
  3. CSEを介したストレージの移行をリクエストします。 AMS インフラストラクチャチームと調整して移行計画を作成し、リポジトリサイズとワークロード要件に基づいてターゲット IOPSとスループット設定を確認します。
  4. リポジトリーボリュームをgp3 EBS ボリュームに移行します。 AMS インフラストラクチャチームは通常、このプロセスを実行します。AEM インスタンスを停止し、既存のボリュームのスナップショットを作成し、ストレージを移行し、インスタンスを再起動します。
  5. 同じストレージ設定を使用する場合は、影響を受けるパブリッシャーインスタンスを移行計画に含めます。
  6. 移行後のシステムパフォーマンスを測定します。 一般的なオーサリングアクティビティ中に、I/O待機、スワップ使用率、および読み込み平均が減少したことを確認します。
  7. request.logを確認し、エディターとユーティリティ エンドポイントに複数秒または1分の応答時間が表示されなくなったことを確認します。
  8. error.logを確認し、チェックポイントの失敗メッセージとLucene インデックスの警告が再発しないことを確認します。
  9. オーサーページエディターが正常に読み込まれ、公開操作が正常に完了し、非同期インデックスが最新のままであり、リモート DAM イベントが遅延なく処理されることを検証します。
  10. 繰り返し発生するパフォーマンスの低下を、大規模なレプリケーションバースト、MSM ロールアウト、パッケージのデプロイ、大規模なアセット取り込みなど、リポジトリを多用するアクティビティと関連付けます。移行後も不安定な状態が続く場合は、これを行います。
  11. リポジトリの需要がピークに達してもパフォーマンスに影響が続く場合は、影響の大きいワークロードのスケジュールまたはスロットリングを調整します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles