1. セッション状態のスケーリングと構成

チュートリアル: MongoDBプロバイダーを使用したプライベート セッション状態データベースの構成

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

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

プライベート セッション状態では、閲覧したページ、コンバージョンに至った目標、トリガーされたキャンペーン、累積エンゲージメントポイントなど、特定のインタラクションに関連するすべてのデータが収集され、セッション状態データベースに保存されます。

MongoDBまたはSQL Serverをプライベート セッション状態ストアとして使用できます。SQL Serverは、コレクション データベース (MongoDB) をクラウドでサービスとして実行している場合、またはオンプレミスのMongoDBサーバー インスタンスを実行したくない場合は、適切なオプションである可能性があります。

メモ

コンテンツ管理 (CM) サーバーは、外部セッション状態データベースの使用をサポートしていません。CMサーバーでは、インプロセス セッション状態のみを使用できます。

このチュートリアルでは、MongoDBセッション データベースのデプロイ、Sitecoreの設定、セッション状態設定の調整Sitecore ASP.NET Session State Provider for MongoDBを使用して、MongoDBデータベースをプライベート セッション状態ストアとして使用する方法について説明します。

手記

MongoDBセッション プロバイダーを使用している場合、すべてのコンテンツ配信サーバーは、同じデータベースを指す同じプロバイダーを使用する必要があります。

MongoDBをセッションデータベースとしてデプロイする前に、パフォーマンスへの影響を考慮してください。

MongoDBセッション データベースをデプロイする

Sitecore ASP.NET MongoDB用セッション状態プロバイダーを使用すると、MongoDBをセッション状態ストアとして使用できます。プロバイダーは、xDBがWebサイトへのアクセスを追跡するために必要なSessionEndイベントをサポートしています。

MongoDBセッションデータベースをデプロイするには、次のようにします。

  1. MongoDB Webサイトの指示に従って、MongoDBデータベース サーバー バージョン2.6以降を専用サーバーにインストールします。

  2. 適切なXMLエディタで、<sitename>\Website\App_ConfigにあるConnectionStrings.configファイルを開き、次の接続文字列を追加します。

    <add name="session" connectionString="mongodb://_mongo_server_name_:_port_number_/_session_database_name_" />
  3. add name値は、プライベートセッション状態と共有セッション状態のどちらを構成するかに応じて、sessionまたはsharedsession になります。

  4. セッション・データベースを指すように接続文字列を構成します。

  5. 変更を保存します。

Sitecoreの設定

手記

設定ファイルを直接変更しないでください。代わりに、実行時に必要な変更を実行する パッチ ファイル を作成する必要があります。

MongoDBのプライベート セッション状態プロバイダーを使用するようにSitecoreを設定するには:

  1. サイトのルートフォルダで、web.configファイルを開き、sessionStateセクションを見つけます。

    <sessionState mode="InProc" cookieless="false" timeout="20">
  2. 次の例に示すように、InProcではなくMongoDBプロバイダーを使用するようにsessionStateセクションを更新します。また、name属性値をmongoに変更します。

    <sessionState mode="Custom" customProvider="mongo" cookieless="false" timeout="20">
      <providers>
        <add name="mongo"
             type="Sitecore.SessionProvider.MongoDB.MongoSessionStateProvider,
             Sitecore.SessionProvider.MongoDB"
             connectionStringName="session"
             pollingInterval="2"
             compression="true"
             sessionType="private"/>
      </providers>
    </sessionState>

セッション状態の設定を調整する

Sitecoreでは、セッション状態を設定するときに、次の設定オプションがあります。

設定

形容

価値

connectionStringName

Sitecoreがセッション データベースへの接続に使用する接続文字列を指定します。

編集して、使用するセッション状態データベースを指定します。xDBでは、このデータベースはセッションと呼ばれます。

例えば:

connectionStringName="session"

pollingInterval

セッション状態プロバイダーがセッションの有効期限が切れているかどうかを確認するために使用する時間間隔を秒単位で指定します。

例えば:

pollingInterval="2"

compression

セッション状態データを圧縮することを指定します。

デフォルト値はtrueです。セッション状態データを圧縮すると、データベースとSitecoreインスタンス間で転送する必要があるデータの量が減ります。これにより、追加のCPUオーバーヘッドが発生する可能性があります。

例えば:

compression="true"

sessionType

セッション・ステートのタイプがprivateであることを指定します。

有効な値のみ:

sessionType="private"

すべてが正しく設定されている場合は、最初のWebリクエストの後にセッションデータベースがMongoDBデータベースのリストに表示されます。

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