アナリティクス データベースにテスト データを入力する方法


説明

この記事では、Sitecoreのアナリティクス データベースにテスト データを素早く入力する方法について説明します。

この方法は、Sitecore xDB・DMS機能のデモ、アナリティクスの機能性および設定の検証などに役立ちます。

前提条件

  1. Java Runtime Environment (JRE)バージョン6以降
  2. Apache JMeter:http://jmeter.apache.org
  3. XDB.RandomWalk.JMeter.jmx スクリプト。最新のバージョンは、次のリンクで入手できます:https://bitbucket.org/scSPL/jmeter-randomwalk
  4. サイトのリンク構造がよく定義されていること。
  5. (オプション)SitecoreソリューションでxDB・DMSツール(目標、オートメーション、キャンペーンなど)が適切に構成されていると、結果アナリティクス レポートの内容がより詳細になります。

※註:http://launchsitecore.net/からのパッケージを使用して、クリーンなSitecoreソリューションでデータを生成することができます。このパッケージには、必要なリンク構造が適切に定義され、適切なマーケティング機能が有効になっています。

解決策

スクリプトを実行するには、以下のアクションを実施してください:

  1. \bin\ApacheJMeter.jarファイルを使用して、Apache JMeterを実行します。
  2. File>Openを押下し、XDB.RandomWalk.JMeter.jmxスクリプトを選択します。
  3. 「UDV Global」ノードを開き、スクリプトを設定します:

    スクリプトを開始する前に、global.host、global.visitorsおよびsitecore.versionの変数が正しく設定されていることを確認します。
  4. Start のボタンを押下すると、プロセスが開始されます。次に、JMeterは複数の訪問者・スレッドを通してウェブ ソリューションを閲覧し始めます。各ユーザーはサイト上での独自のランダムなパス(閲覧するページやその順番など)を持っています。
  5. スクリプトが動作しなくなるまで待ちます。 インジケータは「0 / 総スレッド数」を表示し、インジケータの色が緑色から灰色に変わります。
  6. しばらくしてから、すべてのアナリティクス レポートに、複数の訪問者がサイトを訪問し、一連の異なるコンテンツ ページを閲覧したことを再現したデータが入力されます。

スクリプトの設定

「UDV Global」ノードの設定可能な変数は、次の通りです:

  1. global.host:対象ソリューションのホストは、「http://」なしで指定する必要があります。
  2. global.visitors:作成するユニークな訪問者・連絡先の数。
  3. sitecore.version:Sitecore CMS 7.2以前のバージョンを使用する場合はバージョン7.2である必要があります。Sitecore XP 7.5以降のバージョンを使用する場合、空白にしても構いません。
  4. global.visits.min:訪問者対連絡先1人あたりで生成される最小限の訪問対インタラクション数。
  5. global.visits.max:訪問者対連絡先1人あたりで生成される最大限の訪問対インタラクション数。
  6. global.rampuptime:すべての訪問者のスレッドを開始するのに必要な時間(秒) 例:訪問者が10人で、global.rampuptimeの時間の値が100秒に設定されている場合、各訪問者は前の訪問者の10秒後に開始されます。
  7. global.landingpage:すべての訪問者向けのスタート ページ。
  8. global.pagepervisit.min:1回の訪問あたりでアクセスしうるページの最小値 。
  9. global.pagepervisit.max:1回の訪問あたりでアクセスしうるページの最大値。
  10. global.referrers:リファラーのリストを「#」で区切って指定します。デフォルトでは、google.com、sitecore.netおよびbing.netリファラーが含まれています。
  11. global.useragents:「#」で区切られたユーザー エージェントのリスト 
  12. file.path:テスト結果のデータが書き込まれる.csvファイルへのパス。そのファイルには、全ての要求に関する情報(ページのURL、レスポンス コード、レスポンス メッセージなど)が含まれています。

備考:

Sitecore XP 7.5+では、訪問のデータは、セッション終了イベントのコレクション データベースに保存されます。デフォルトでは、セッション状態のタイムアウトはweb.configファイルで20分に設定されています。次の通りに設定を変更することで、より高速に処理することができます。

<sessionState mode="InProc" cookieless="false" timeout="1" ...>

テスト実施中のGeoIP情報の収集

テスト実施中にGeoIp情報を収集したい場合、次のアクションを実施する必要があります:

  1. \App_Config\Include\Sitecore.Analytics.Tracking.config (Sitecore CMS 7.2バージョン以前の場合は、Sitecore.Analytics.config)ファイルで、Analytics.ForwardedRequestHttpHeaderを以下に従って設定します:
    <setting name="Analytics.ForwardedRequestHttpHeader" value="X-Forwarded-For" />
  2. JMeterスクリプトの「IP Address Configuration」ノードを開き、IPアドレスの範囲を指定します。

備考:

JMeterの性能の調整

訪問者が多い状態でテストを実施すると、メモリ不足のエラーが発生する恐れがあります。

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Java heap space

この事象は、JMeterのヒープ メモリを増やすことで解決できます:

  1. JMeterのbinフォルダのjmeter.batファイルをNotepadで開きます。
  2. テキスト内に「set HEAP=-Xms512m -Xmx512mset」を検索し、「set HEAP=-Xms1024m -Xmx1024mset」に変更します。
  3. ファイルを保存し、実行します。