1. サーバーの構成

ライブ・セッション・エージェントの構成設定

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Live Session Agentモジュールを使用すると、自動化状態に設定されたタイムアウト遅延に近いタイムアウトによって、エンゲージメント自動化状態 (EAS状態) をトリガーおよび処理できます。

モジュールをインストールしたら、Sitecoreソリューションのパフォーマンスをテストして、モジュールの設定を微調整できるようにする必要があります。テストするときは、次のメトリックに注意する必要があります。

  • システム・スループット

  • 要求のレイテンシ

  • セッション状態データベースの負荷 – システムがアイドル状態にあるときとロードされているときの両方で、トランザクション/秒または同等の値で測定されます。

  • コンテンツ配信および処理サーバーのCPU使用率 - アイドル状態とシステムがロードされているときの両方。

  • EAS状態 (コンポーネントのパフォーマンス カウンター) の平均処理遅延。

次の構成ファイル設定を変更して、Live Session Agentのパフォーマンスを微調整できます。設定ファイルは、インクルードフォルダ(Website\App_Config\Include\)に保存されます。

処理設定

Sitecore.EngagementAutomation.LiveSessionAgent.Processing.config構成ファイルを使用して、ライブ・セッション・エージェントの処理設定を構成します。

EAS Liveセッションのウェイクアップ間隔

ウェイクアップ間隔は、ライブセッションエージェントが新しいEASアイテムを処理するために連絡先セッションのキューをポーリングする頻度を制御する設定です。

設定

形容

構成のサンプル

Interval

処理される各EAS状態項目の間隔を指定します。

<liveSessionAgent type="Sitecore.Analytics.Core.BackgroundService">
  <param desc="agentName">automation/liveSession/agent</param>
   <Interval>0.00:00:15</Interval>

デフォルトの間隔値は15秒です。このパラメータを高く設定しすぎると、EAS状態が期限になってから実際に処理されるまでに大幅な遅延が生じる可能性があります。このパラメータを低い値に設定すると、システムがアイドル状態のときでも、セッション状態データベース (MongoDBまたはSQL Server) に持続的な負荷がかかります。

並列スレッドの最大数

この設定では、保留中のオートメーション状態を持つ連絡先を処理するための並列スレッドの数を設定できます。この設定は、次のノードで指定されます。 sitecore\automation\livesession\agent\MaxDegreeOfParallelism

設定

形容

見本

MaxDegreeOfParallelism

処理に割り当てる並列スレッドの最大数を指定します。

<agent type="Sitecore.EngagementAutomation.LiveSessionAgent.Agent">
  <MaxDegreeOfParallelism>4</MaxDegreeOfParallelism>
</agent>

ライブ・セッション・エージェントは、ASP.NETワーカー・スレッドと同じスレッド・プールから処理スレッドを割り当てるため、システム全体のスループットに影響を与える可能性があります。スレッドの数を、コンテンツ配信サーバー上のASP.NETワーカー・スレッドの数の20% より大きく設定しないでください。専用の処理サーバーでは、必要に応じて、スレッドの数が .NETスレッド プールのサイズに達する可能性があります。

ライブ セッション エージェントの設定

Sitecore.EngagementAutomation.LiveSessionAgent.config構成ファイルを使用して、ライブ・セッション・エージェントの一般設定を構成します。

スロット数

この設定は、キューに入れられた連絡先識別子を処理のために格納するスロットの数を決定します。

設定

形容

見本

Number of Slots

キューに入れられた連絡先IDを処理のために保存するために使用可能にするスロットの数を指定します。

<slotAllocationStrategy type="Sitecore.EngagementAutomation.LiveSessionAgent.Processing.SlotAllocationStrategy">
  <!-- Number of slots stored in contact (shared) session storing chunks of queue of contact live sessions scheduled for processing of EAS states.
  -->
  <param desc="Number of Slots">100</param>
</slotAllocationStrategy>

選択するスロットの数は、システムでサポートされている同時要求の数によって異なります。デフォルト値は100です。つまり、システムに200 RPSの負荷がある場合、各スロットはロックされ、1秒あたり約2回更新されます。

スロットは、セッション状態アイテムとして共有セッションに格納されます。スロット数を低い値に設定すると、システムのリクエストのレイテンシとスループットに直接影響します。スロット数を高い値に設定すると、システムがアイドル状態のときでも、セッション・データベースに持続的な負荷がかかる可能性があります。さらに、保留中の連絡先セッションを見つけるためにより多くのスロットをスキャンする必要があるため、EAS状態の処理に不必要な遅延が発生する可能性があります。

処理のためにロックするアイテムの最大数

この設定は、エージェントの反復中に処理するために各スロットから取得されるアイテムの数を決定します。

設定

形容

見本

MaxAmountOfItemsToLockForProcessing

処理のためにロックするアイテムの最大数を指定します

<queue type="Sitecore.EngagementAutomation.LiveSessionAgent.Processing.ProcessingTimeoutQueue, Sitecore.EngagementAutomation.LiveSessionAgent" singleInstance="true">
  
  <!-- Maximum amount of items taken from each slot to return for processing as expired. 
  -->
  <MaxAmountOfItemsToLockForProcessing>8</MaxAmountOfItemsToLockForProcessing>
</queue>

EASタイムアウトの処理時に発生する可能性のある大幅な遅延を排除するために、システムは各ポーリング間隔ですべての既存のスロットへのアクセスを試み、各スロットからデータの一部のみを取得して処理します。このパラメータを低い値に設定すると、Live Session AgentがEAS状態をアクティブに処理するときに、セッション データベースへのトラフィックが多くなる可能性があります。このパラメータを高い値に設定すると、EAS状態が期限になってから処理されるまでの間に不必要な遅延が発生する可能性があります。

メモ

値を計算するには、コンタクト・セッションの数に処理間隔を掛け、それを使用可能なスロットの数で割ります。

この記事を改善するための提案がある場合は、 お知らせください!