テストツール

  • アドビの Tough Day ツールを使用すると、AEM インスタンスで負荷を生成してパフォーマンスデータを収集できます。アドビの AEM エンジニアリングチームは実際にこのツールを使用して、AEM 製品の負荷テストを実施しています。Tough Day で実行するスクリプトは、プロパティファイルと JMX XML ファイルを使用して設定します。詳細情報は、Tough Day のドキュメントを参照してください。

  • AEM には、問題のあるクエリ、リクエスト、エラーメッセージを迅速に確認するための、すぐに使用できるツールが用意されています。詳細情報は、操作ダッシュボードのドキュメントの診断ツールセクションを参照してください。

  • Apache では、パフォーマンスと負荷のテスト、機能動作に使用できる JMeter という製品を提供しています。オープンソースソフトウェアであり無料で使用できますが、エンタープライズ製品よりも機能セットが少なく、使い方を覚えるのが簡単です。JMeter は Apache の web サイト(https://jmeter.apache.org/)で入手できます。

  • Load Runner はエンタープライズレベルの負荷テスト製品です。無償の評価版も提供されています。詳しくは、https://www.microfocus.com/ja-jp/portfolio/performance-engineering/overview を参照してください。

  • また、Vercara などの web サイト負荷テストツールも使用できます。

  • モバイル web サイトやレスポンシブ web サイトをテストする際は、別のツールセットを使用する必要があります。こうしたツールでは、ネットワーク帯域幅の制限、3G や EDGE などの低速なモバイル接続のシミュレーションを行えます。広く利用されているツールには以下のものがあります。

    • Network Link Conditioner - 簡単に使用できる UI を備えており、またかなり低いレベルのネットワークスタックで動作します。OS X と iOS のバージョンがあります。
    • Charles - ネットワーク制限を使用できる Web デバッグプロキシアプリケーションです。他にも用途がいくつかあります。Windows、OS X および Linux® に対応したバージョンが提供されています。

最適化ツール

監視

パフォーマンスの監視では、問題の診断と調整すべき領域の特定に役立つツールと方法について説明しています。

タッチ UI の開発者モード

AEM 6 のタッチ操作対応 UI の新機能の 1 つに、開発者モードがあります。作成者が編集モードとプレビューモードを切り替えるのと同様に、開発者はオーサー UI でデベロッパーモードに切り替えることができます。これにより、ページ上の各コンポーネントのレンダリング時間を確認し、エラーのスタックトレースを確認できます。デベロッパーモードについて詳しくは、CQ Gems のプレゼンテーションを参照してください。

rlog.jar を使用したリクエストログの解読

AEM システムのリクエストログをより包括的に分析するには、rlog.jar を使用して、AEM で生成される request.log の検索および並べ替えをおこなうことができます。この jar ファイルは、AEM インストールの /crx-quickstart/opt/helpers フォルダーにあります。rlog ツールとリクエストログ全般について詳しくは、モニタリングと保守に関するドキュメントを参照してください。

クエリの説明を実行ツール

ACS AEM ツールのクエリの説明を実行ツールを使用して、クエリ実行時に使用されるインデックスを表示できます。これは低速なクエリの実行を最適化する場合に便利です。

PageSpeed ツール

Google の PageSpeed ツールは、ページパフォーマンスに関するベストプラクティスを実践するためのサイト分析や、さらなる最適化のために Apache インスタンスに Dispatcher と共にインストールできるプラグインを提供します。
詳しくは、PageSpeed ツールの web サイトを参照してください。

オーサー環境

テストの実行

オーサー環境でパフォーマンステストを実行するには、実稼動のオーサーのエクスペリエンスをシミュレートする必要があります。つまり、オーサーインストールには、コンポーネント、OSGi バンドル、UI カスタマイズ、カスタムインデックスなど、実稼動環境のオーサーインスタンスに配置される様々な追加要素をすべて含めておく必要があります。

パフォーマンスと負荷のテスト用に設計された、様々な自動化フレームワークを利用できます。これらのツールでカスタムのスクリプトを記録してから再生することで、類似コンテンツの作成とアクティベートアクティビティを同時に実行する、ピーク時の数でオーサーをのシミュレーションを行うことが可能です。Tough Day ツールを使用し、数千個のアセットのアップロードや、多数のページのアクティベートなどのアクティビティのシミュレーションを行うことを推奨します。

アセットの読み込みやページのオーサリングを頻繁に行う必要がある環境では、Tough Day などのツールを使用することが不可欠です。これにより、負荷のピーク時に環境を効率的に運用できます。WebDAV はスクリプトを必要としないツールで、大量のアセットを読み込むためにも使用できます。

MongoDB 固有の手順

バックエンドに MongoDB を使用しているシステムでは、負荷テストまたはパフォーマンステスト時に AEM の以下の JMX MBean を監視する必要があります。

  • 統合キャッシュ統計 MBean。次の場所から直接アクセスできます。

https://server:port/system/console/jmx/org.apache.jackrabbit.oak%3Aid%3D6%2Cname%3D%22Consolidated+Cache+statistics%22%2Ctype%3D%22ConsolidatedCacheStats%22

Document-Diff という名前のキャッシュは、ヒット率を .90 以上にする必要があります。ヒット率が 90 %を下回る場合は、DocumentNodeStoreService の設定を変更しなければならない可能性があります。お使いの環境に最適な設定はアドビの製品サポートからご案内できます。

  • Oak リポジトリ統計 Mbean。次の場所から直接アクセスできます。

https://server:port/system/console/jmx/org.apache.jackrabbit.oak%3Aid%3D16%2Cname%3D%22Oak+Repository+Statistics%22%2Ctype%3D%22RepositoryStats%22

ObservationQueueMaxLength のセクションには、直前の数時間、数分、数秒、数週間の Oak の観測キュー内のイベント数が表示されます。「1 時間あたり」セクションで最も多いイベント数を見つけます。この数を oak.observation.queue-length の設定値と比較します。監視キューに表示される最大数が queue-length 設定を超える場合:

  1. パラメーター oak.observation.queue‐length=50000 を含む com.adobe.granite.repository.impl.SlingRepositoryManager.cfg という名前のファイルを作成します。
  2. /crx-quickstart/install フォルダーの下に配置します。
NOTE
詳しくは、AEM 6.x |パフォーマンスチューニングのヒントを参照してください

デフォルト設定は 10,000 ですが、ほとんどのデプロイメントでは 20,000 または 50,000 に引き上げる必要があります。