この記事では、AEM forms デプロイメントのボトルネックを減少しパフォーマンスを最適化するための戦略とベストプラクティスを検討します。

キャッシュ設定

http://[サーバー]:[ポート]/system/console/configMgr の AEM Web Configuration Console にある Mobile Forms Configurations コンポーネントを使用して、AEM Forms のキャッシング戦略を設定し制御できます。

キャッシングのための使用可能オプションは次の通りです。

  • なし: すべてのアーチファクトをキャッシュしません。これにより、実務上、パフォーマンスが低下し、キャッシュがないために高いメモリ可用度を必要とします。
  • 保守的: インラインのフラグメントや画像を含むテンプレートなど、フォームのレンダリング前に生成される中間的なアーチファクトのみをキャッシュします。
  • アグレッシブ: 保守的キャッシングレベルのすべてのアーチファクトの他に、レンダリングされた HTML コンテンツなど、キャッシュ可能なほとんどすべてのものをキャッシュします。これにより最良のパフォーマンスが得られますが、キャッシュされたアーチファクトを保存するために多くのメモリを消費することになります。アグレッシブキャッシング戦略では、レンダリングされたコンテンツがキャッシュされるので、フォームのレンダリングにおいて一定時間のパフォーマンスが得られます。

AEM forms のデフォルトキャッシュ設定は、最適なパフォーマンスを得るためには十分でない場合があります。したがって、次の設定を使用することを推奨します。

  • キャッシュ戦略: アグレッシブ
  • キャッシュサイズ(フォーム数): 必要に応じて
  • 最大オブジェクトサイズ: 必要に応じて
Mobile Forms の設定

JVM パラメーター

最適なパフォーマンスを得るために、次の JVM init 引数を使用して、Java ヒープPermGen を設定することを推奨します。

set CQ_JVM_OPTS=%CQ_JVM_OPTS% -Xms8192m
set CQ_JVM_OPTS=%CQ_JVM_OPTS% -Xmx8192m
set CQ_JVM_OPTS=%CQ_JVM_OPTS% -XX:PermSize=256m
set CQ_JVM_OPTS=%CQ_JVM_OPTS% -XX:MaxPermSize=1024m

注意: 推奨設定は、Windows 2008 R2 8 コアおよび Oracle HotSpot 1.7 (64 ビット) JDK に対するもので、ご使用のシステム構成に従ってスケールアップまたはスケールダウンする必要があります。

Web サーバーの使用

Mobile Forms はフォームを HTML5 形式でレンダリングします。フォームサイズとフォーム内の画像のような要素によって、結果の出力が大きくなる場合があります。データ転送を最適化するために、推奨されるアプローチは要求を対処する Web サーバーを使用して HTML 応答を圧縮することです。このアプローチは応答サイズ、ネットワークトラフィック、およびサーバーとクライアントマシンの間でのデータのストリーミングに要する時間を減少させます。

例えば、次の手順を実行して、JBoss 搭載の Apache Web Server 2.0 32 ビット上で圧縮を有効にします。

注意:次の手順は Apache Web Server 2.0 32 ビット以外のサーバーには適用されません。その他のサーバーに固有の手順については、対応する製品ドキュメントを参照してください。

次の手順では、Apache Web Server で圧縮を有効にするために必要な変更を例示します。

オペレーティングシステムに適した Apache Web サーバーソフトウェアを入手します。

  • Windows: Apache Web サーバーを Apache HTTP Server Project サイトからダウンロードします。
  • Solaris 64 ビットの場合、Apache Web サーバーを Sunfreeware Solaris Web サイトからダウンロードします。
  • Linux: Apache Web サーバーは、Linux システムにプレインストールされています。

Apache は HTML プロトコルを使用して CRX と情報をやり取りできます。構成は HTML を使用した最適化のためのものです。

  1. APACHE_HOME/conf/httpd.conf ファイル内で次のモジュール設定に対してコメント解除します。

    LoadModule proxy_balancer_module modules/mod_proxy.so
    LoadModule proxy_balancer_module modules/mod_proxy_http.so
    LoadModule deflate_module modules/mod_deflate.so

    注意:

    Linux の場合、デフォルトの APACHE_HOME/etc/httpd/ です。

  2. crx のポート 4502 のプロキシを設定します。
    次の設定を APACHE_HOME/conf/httpd.conf 設定ファイルに追加してください。

    ProxyPass / http://<server>:4502/
    ProxyPassReverse / http://<server>:4502/
  3. 圧縮を有効化します。
    次の設定を APACHE_HOME/conf/httpd.conf 設定ファイルに追加してください。

    <Location /content/xfaforms>
        <IfModule mod_deflate.c>
            SetOutputFilter DEFLATE
            #Don’t compress
            SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
            SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
            #Dealing with proxy servers
                <IfModule mod_headers.c>
                    Header append Vary User-Agent
                </IfModule>
        </IfModule>
    </Location>

    crx サーバーにアクセスするには、http://[server]:80 を使用します。ここで、server は Apache サーバーが実行されているサーバーの名前です。

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

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