現在表示中:

「Tough Day」テストとは

デフォルトの「Tough Day」テストでは、約 1,000 人の作成者がいる環境で、すべての操作が同時進行しているという最悪の状況を想定して、1 日の負荷をシミュレートします。状況をさらに悪化させるために、ベストプラクティスから離れて、不適切で推奨されないコンテンツ構造を使用します。

注意:

応答時間の最大化については、パフォーマンス最適化を参照してください。

ユースケース

Tough Day は、主に以下の 2 つの目的で使用されます。

  • 多数のユーザーが同時操作をおこなう状況が普通に発生するシステムのストレステスト。
  • 同時操作ユーザーの数がオーサー環境で発生しうるピーク時ユーザー数に近づいた場合のシミュレーション。こちらのテストの方がよく実施されます。

警告:

2 番目のユースケースでは、createPages.thinkt パラメーターを指定する必要があります。次に例を示します。

java -Xmx1024m -Dhostname=localhost -Dport=4502 -DcreatePages.toplevels=2 -DcreatePages.sublevels=2 -DcreatePages.subsublevels=2 -DcreatePages.concurrentUsers=3 -DcreatePages.rampup=1 -DcreatePages.thinkt=5 -DcreatePages.activate=true -DcreatePages.delete=true -jar toughday.jar createPages 

注意:

オーサーインスタンスのユーザー数の推定には、リクエスト分析スクリプトを使用できます。

 

概要

cron ジョブによって、最新の毎晩のビルドをダウンロードする試行スクリプトを実行します。毎晩のビルドは、S3CMD ツールを使用してクラウド内の Amazon S3 バケットにアップロードされます。既存の AMI から、構成とハードウェアの仕様が異なる複数の EC2 マシンをインスタンス化します。各マシンでは、CQ の毎晩のビルドをインストールおよび設定し、設定済みのすべてのテストを並行して開始する ANT スクリプトを開始します。テストに合格または失格した後、結果がまとめられ、Day QaBase に送信されます。48 時間後に仮想マシンは停止します。

サブテスト

ページを作成

CQ 内にコンテンツページを作成し、そのページに異なるコンポーネントを追加して、ページをアクティブにしてから削除します。同時ユーザー数が 30 人、思考時間がゼロという条件でこのテストは実行されます。このテストによって、3 レベルのサイト階層が作成されます。

画像をアップロード

画像を CQ DAM に読み込みます。ExifTool を使用して 1 つのソース画像を変更し、複製します。

MSM

Geometrixx デモサイトのライブコピーを作成して、MSM ページのロールアウトを多数実行します。

ユーザーを読み込む

ランダムな ID と名前で CQ にユーザーを読み込みます。

タグ

21,050 個のタグがある大規模な分類ツリーを CQ 内に作成します。

タグを割り当てる

各 Geometrixx デモページに 1,000 個のタグを割り当てます。

Tough Day の利点

  • ハードウェアに依存しません
  • Persistence Manager に依存しません。
  • クラスターに依存しません。
  • 高負荷を作成できます
  • 大量のコンテンツを作成できます
  • 多数の同時ユーザーでテストできます
  • 多様なコンテンツ構造をテストできます
  • 多様な CQ 操作を同時にテストできます
  • インフラストラクチャのパフォーマンスを測定できます

クラウドへの対応

このテストは、テストの実行にクラウドを使用するように設定されています。クラウドによって、32 ビットまたは 64 ビットのアーキテクチャで、異なるハードウェア、OS、Java バージョンを使用して同じテストを実行できます。

クラスターへの対応

また、クラスターのテストにも使用できます。このノードに対してテストを実行するマスターノードまたはスレーブノードのホスト名を設定します。マスターノードおよび 1 つまたは複数のスレーブノードを同時にテストすることもできます。

クラスターとクラウド

クラウド内のクラスターの機能をテストする場合、1 つのマシン、同じゾーン内で同じ領域の複数のマシン、異なるゾーン内で同じ領域と異なる領域の複数のマシンを切り替えることができます。

「Tough Day」テストの内容

作成するページ数、ユーザー数、画像数などを設定できます。毎晩のビルドテストのデフォルト値を以下に示します。

注意:

これらはいずれも個々の CQ5 エンドユーザーブラウザー操作をシミュレートする「書き込みテスト」であり、必要最小限のリポジトリ操作とは比較できません。テストは、Windows 2008 Server を使用して実行されます。

10 倍の Tough Day テスト

負荷ごとに、デフォルトのテストよりも 10 倍長く実行するテストを実施します。

ベンチマーク

中程度の Amazon マシンで実施したテストの結果を以下に示します。

  • 1,000 ページの作成と 5,000 ページの更新:225 秒
  • 50 個の画像の読み込み:79 秒
  • 2,000 ユーザーの作成:101 秒

ハードウェア

Amazon EC2 m1.large

7.5 GB メモリ
4 つの EC2 計算ユニット(それぞれ 2 つの EC2 計算ユニットを備えた 2 つの仮想コア)
850 GB インスタンスストレージ
64 ビットプラットフォーム
I/O パフォーマンス:高い
API 名:m1.large

OS

Windows Server 2008 Datacenter 64 ビット

スケーラビリティ

CPU パワーを 26 倍に増やすと、スループットは 11 倍に増え、I/O も 24 倍高速になります。

使用ツール

Jmeter

ページの作成テストと MSM テストに使用します。

ExifTool

画像のアップロードテストに使用します。

Ant

すべてのテストのテスト実行者として使用します。

EC2 ツール

クラウド内の仮想マシンを起動および停止するために使用します。

S3CMD

クラウドにバイナリをアップロードおよびダウンロードするために使用します。

CURL

画像のアップロードテスト、タグテスト、ユーザーの作成テストに使用します。

Bash

画像のアップロードテスト、タグテスト、ユーザーの作成テストに使用します。

顧客の Tough Day ツール

Toughday-5.6.1.jar は、システムのストレステストをすばやく実行できるコマンドラインツールです。これは Tough Day テストから派生したツールです。ページ、ユーザー、タグおよび画像を CQ インスタンスで作成できます。サーバーのパフォーマンスをベンチマークで測定できます。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -DuploadImage.count=10 -jar toughday-5.6.1.jar uploadImage

ここでは、jar をカレントディレクトリの toughday フォルダーに展開します。その後、localhost:4502 上で実行される cq インスタンスに対して 10 個の画像を使用した uploadImage テストを開始します。

ツールは CQ 5.6.1 に対応しています。

重要なフォルダーとファイル:

  • toughday.properties
    テストのデフォルト値を含みます。
  • tasks
    テストを含みます。テストごとに専用フォルダーがあります。
  • task/build.fragment
    ant フラグメントファイル。「createPages」などのテスト名の付いた 1 つ以上の ant ターゲットを含み、「テスト」ターゲットに依存している必要があります。

既知の問題

java -Xmx1024m -Dhostname=localhost -Dport=4502 -jar toughday-5.6.1.jar all

ここでは、すべてのテストを同時に実行します。addTagsToGeometrixxPages テストはタグテストに依存するので、タイミングの問題で失敗することがあります。

ダウンロード

jar ファイルの現在のバージョンは、ここからダウンロードできます。

ダウンロード

注意:

この JAR ファイルは、CRSF 保護機能のため AEM 6.1 用に更新されました。これより古いバージョンの JAR ファイルを使用すると、次のエラーが発生します。

"com.adobe.granite.csrf.impl.CSRFFilter isValidRequest: empty CSRF token - rejecting"

"com.adobe.granite.csrf.impl.CSRFFilter doFilter: the provided CSRF token is invalid"

テスト

ページの作成

リポジトリにいくつかの geometrixx ページを作成します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -DcreatePages.toplevels=2 -DcreatePages.sublevels=2 -DcreatePages.subsublevels=2 -DcreatePages.concurrentUsers=3 -DcreatePages.rampup=1 -DcreatePages.thinkt=5 -DcreatePages.activate=true -DcreatePages.delete=true -jar toughday-5.6.1.jar createPages

ページクラスターの作成

クラスターリポジトリにいくつかの geometrixx ページを作成します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -Dhostname.slave=localhost -Dport.slave=8080 -DcreatePagesCluster.concurrentUsers=10 -DcreatePagesCluster.rampup=1 -DcreatePagesCluster.loop=10 -jar toughday-5.6.1.jar createPagesCluster

MSM

geometrixx を使用して MultiSiteManager(MSM)をテストします。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -DCQ5MSMNewSite.count=10 -DCQ5MSMNewSite.testplan=CQ5MSMNewSite-1.0.jmx -jar toughday-5.6.1.jar CQ5MSMNewSite

DAM

リポジトリに様々な画像を作成します。また、これは、いくつかの DAM ワークフロー
(メタデータの抽出、レンディションなど)を実行します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -DuploadImage.count=10 -jar toughday-5.6.1.jar uploadImage

ベンチマーク

createPages および uploadImages タスクを実行し、これらのタスクの実行に必要な時間を測定します。これにより、その測定結果と Amazon m1-large インスタンスの結果を比較できます。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -jar toughday-5.6.1.jar benchmark

タグ付け

/etc/tags/ebay の下に 20,000 個未満のタグを作成します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -jar toughday-5.6.1.jar tags

タグ付け 2

/content/geometrixx/en/jcr:content に 100,000 個未満のタグを追加します(タグテストに応じて)。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -jar toughday-5.6.1.jar addTagsToGeometrixxPages

PDF のアップロード

いくつかの PDF をアップロードします。また、これは、いくつかの DAM ワークフロー(メタデータの抽出に使用するワークフローなど)を実行します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -DuploadPdf.count=10 -jar toughday-5.6.1.jar uploadPdf

オーサリングシナリオ

5.5 から、すべての GET および POST リクエスト(97%GET、3%POST)をシミュレートする新しいオーサーシナリオが導入されています。

そのためにアドビは、作成者向けの一般的な使用例をシミュレートするシナリオを定義しました。このシナリオには、ページの作成、コンポーネントの追加、コンテンツの評価、ページのアクティベート、ページの削除などをおこなう手順が含まれます。

このオーサリングシナリオでは Geometrixx デモサイトを使用します。

  1. CQ(http://<hostname>:<port>)にログインします。
  2. Web サイトを開きます。
  3. Geometrixx デモサイト/英語に移動します。
  4. Geometrixx コンテンツページテンプレートを使用して新しいページを作成します。ページのタイトルには任意のタイトルを付けます。
  5. テストページを開きます。
  6. 段落システムに Sitemap コンポーネントを追加します。
  7. 段落システムに Flash コンポーネントを追加します。
  8. コンテンツファインダー内で「ムービー」タブを選択します。
  9. アイテム triangles.swf を Flash コンポーネントにドラッグアンドドロップします。
  10. 段落システムにテキストと画像コンポーネントを追加します。
  11. コンテンツファインダー内で「画像」タブを選択します。
  12. 下にスクロールし、画像コンポーネントにファイル geo_hq.jpg をドラッグアンドドロップします。
  13. テキストと画像コンポーネントを編集し、次のテキストを記述します。
    「当社のトライアングルはすべての ISO および DIN 業界標準を満たしています。GeoMetrixx# により、高品質の商品およびサポートを容易に提供できるようになります。」
  14. 段落システムにタグクラウドを追加します。
  15. タグクラウドを編集し、すべてのタグを表示するようにタグを設定します。
  16. 段落システムに評価コンポーネントを追加します。
  17. 段落システムにコメントコンポーネントを追加します。
  18. サイト管理内の付随アセットを使用してページをアクティベートします。
  19. ページを開きます。
  20. サイト管理内のページを削除します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -Dauthoring.loop=2 -Dauthoring.thread=2 -jar toughday-5.6.1.jar authoring

all

すべてのテストを実行します。

使用例

java -Xmx1024m -Dhostname=localhost -Dport=4502 -jar toughday-5.6.1.jar all

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー