この記事では、Sitecoreのアナリティクス データベースにテスト データを素早く入力する方法について説明します。
この方法は、Sitecore xDB・DMS機能のデモ、アナリティクスの機能性および設定の検証などに役立ちます。
- Java Runtime Environment (JRE)バージョン6以降
- Apache JMeter:http://jmeter.apache.org
- XDB.RandomWalk.JMeter.jmx スクリプト。最新のバージョンは、次のリンクで入手できます:https://bitbucket.org/scSPL/jmeter-randomwalk
- サイトのリンク構造がよく定義されていること。
- (オプション)SitecoreソリューションでxDB・DMSツール(目標、オートメーション、キャンペーンなど)が適切に構成されていると、結果アナリティクス レポートの内容がより詳細になります。
※註:http://launchsitecore.net/からのパッケージを使用して、クリーンなSitecoreソリューションでデータを生成することができます。このパッケージには、必要なリンク構造が適切に定義され、適切なマーケティング機能が有効になっています。
スクリプトを実行するには、以下のアクションを実施してください:
- \bin\ApacheJMeter.jarファイルを使用して、Apache JMeterを実行します。
- File>Openを押下し、XDB.RandomWalk.JMeter.jmxスクリプトを選択します。
- 「UDV Global」ノードを開き、スクリプトを設定します:

スクリプトを開始する前に、global.host、global.visitorsおよびsitecore.versionの変数が正しく設定されていることを確認します。
- Start
のボタンを押下すると、プロセスが開始されます。次に、JMeterは複数の訪問者・スレッドを通してウェブ ソリューションを閲覧し始めます。各ユーザーはサイト上での独自のランダムなパス(閲覧するページやその順番など)を持っています。
- スクリプトが動作しなくなるまで待ちます。
インジケータは「0 / 総スレッド数」を表示し、インジケータの色が緑色から灰色に変わります。
- しばらくしてから、すべてのアナリティクス レポートに、複数の訪問者がサイトを訪問し、一連の異なるコンテンツ ページを閲覧したことを再現したデータが入力されます。
「UDV Global」ノードの設定可能な変数は、次の通りです:
- global.host:対象ソリューションのホストは、「http://」なしで指定する必要があります。
- global.visitors:作成するユニークな訪問者・連絡先の数。
- sitecore.version:Sitecore CMS 7.2以前のバージョンを使用する場合はバージョン7.2である必要があります。Sitecore XP 7.5以降のバージョンを使用する場合、空白にしても構いません。
- global.visits.min:訪問者対連絡先1人あたりで生成される最小限の訪問対インタラクション数。
- global.visits.max:訪問者対連絡先1人あたりで生成される最大限の訪問対インタラクション数。
- global.rampuptime:すべての訪問者のスレッドを開始するのに必要な時間(秒) 例:訪問者が10人で、global.rampuptimeの時間の値が100秒に設定されている場合、各訪問者は前の訪問者の10秒後に開始されます。
- global.landingpage:すべての訪問者向けのスタート ページ。
- global.pagepervisit.min:1回の訪問あたりでアクセスしうるページの最小値 。
- global.pagepervisit.max:1回の訪問あたりでアクセスしうるページの最大値。
- global.referrers:リファラーのリストを「#」で区切って指定します。デフォルトでは、google.com、sitecore.netおよびbing.netリファラーが含まれています。
- global.useragents:「#」で区切られたユーザー エージェントのリスト
- file.path:テスト結果のデータが書き込まれる.csvファイルへのパス。そのファイルには、全ての要求に関する情報(ページのURL、レスポンス コード、レスポンス メッセージなど)が含まれています。
備考:
Sitecore XP 7.5+では、訪問のデータは、セッション終了イベントのコレクション データベースに保存されます。デフォルトでは、セッション状態のタイムアウトはweb.configファイルで20分に設定されています。次の通りに設定を変更することで、より高速に処理することができます。
<sessionState mode="InProc" cookieless="false" timeout="1" ...>
テスト実施中にGeoIp情報を収集したい場合、次のアクションを実施する必要があります:
- \App_Config\Include\Sitecore.Analytics.Tracking.config (Sitecore CMS 7.2バージョン以前の場合は、Sitecore.Analytics.config)ファイルで、Analytics.ForwardedRequestHttpHeaderを以下に従って設定します:
<setting name="Analytics.ForwardedRequestHttpHeader" value="X-Forwarded-For" />
- JMeterスクリプトの「IP Address Configuration」ノードを開き、IPアドレスの範囲を指定します。

備考:
訪問者が多い状態でテストを実施すると、メモリ不足のエラーが発生する恐れがあります。
ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Java heap space
この事象は、JMeterのヒープ メモリを増やすことで解決できます:
- JMeterのbinフォルダのjmeter.batファイルをNotepadで開きます。
- テキスト内に「set HEAP=-Xms512m -Xmx512mset」を検索し、「set HEAP=-Xms1024m -Xmx1024mset」に変更します。
- ファイルを保存し、実行します。