Webクライアントのパフォーマンスの向上

Oracle Analyticsのパフォーマンスを向上させるには、すべての静的ファイルを処理するWebサーバーを構成し、静的リソースと動的リソースの両方の圧縮を有効化します。

Webサーバー上でキャッシュおよびコンテンツの有効期限を有効にすると、Webブラウザでサーバーから静的ファイルをリロードする頻度を指定できます。

使用しているWebサーバー用の手順に従って、静的ファイルのキャッシングと、このディレクトリにあるファイルの圧縮を設定します。

ノート:

Oracle WebLogic Serverを構成してApache HTTP Server、Microsoft Internet Information Server (Microsoft IIS)、Oracle HTTP ServerなどのWebサーバーと連携させる方法の詳細は、次のドキュメントを参照してください。

Oracle WebLogic Serverプロキシ・プラグインの使用

Oracle HTTP Serverの管理

次の各項では、構成の例を示します。

静的ファイル・キャッシングのためのApache HTTP Serverの構成

この構成例は、Webサーバー・プラグインがインストールされていて、Apache HTTP ServerがOracle WebLogic Serverへリクエストをプロキシできることが前提です。

PLUGIN_HOME/libディレクトリが、LD_LIBRARY_PATHまたは使用しているオペレーティング・システムのこれに相当するものに追加されていることを確認します。

この項のステップは、構成例専用です。必要に応じて、構成を調整してください。詳細は、Oracle WebLogic Server Proxy Plug-Insの使用を参照してください。

プラグインの構成ディレクティブを追加するには:

  1. Apache HTTP Serverのhttpd.confファイルを見つけます。

  2. ファイルを編集用に開いて、次の例のようなディレクティブを追加します:

    LoadModule weblogic_module modules/mod_wl.so
    
    <IfModule mod_weblogic.c>
       WebLogicPort 9704
       Debug OFF
       WebLogicHost localhost
       WLLogFile /tmp/wl-proxy.log
    </IfModule>
    
    <LocationMatch "/analytics/saw\.dll.*">
    SetOutputFilter DEFLATE
    SetHandler weblogic-handler
    </LocationMatch>
    
    <LocationMatch "/analytics/.*\.jsp.*">
    SetOutputFilter DEFLATE
    SetHandler weblogic-handler
    </LocationMatch>
    

    次の点に注意してください。

    • LoadModuleディレクティブを、プラグインをインストールした場所と方法に基づいて変更します。

    • IfModuleディレクティブによって、Oracle WebLogic Serverへの接続が有効になります。クラスタの構成方法やSSLに関する考慮事項など、接続オプションの詳細は、Oracle WebLogic Server Proxy Plug-Insの使用を参照してください。

    • LocationMatchディレクティブを使用して、すべての動的リクエストがOracle WebLogic Serverにルーティングされます。すべての動的リクエストでGZip圧縮を使用できるように、SetOutputFilter DEFLATEディレクティブを含めてください。

  3. 保存してファイルを閉じます。

静的ファイルを処理する構成ディレクティブを追加できます。

  1. Apache HTTP Serverのhttpd.confファイルを見つけます。
  2. ファイルを編集用に開き、次の例のようなディレクティブを追加します:
    Alias /analytics ORACLE_HOME/bi/bifoundation/web/appv2
    <Directory ORACLE_HOME/bi/bifoundation/web/appv2>
    # Disable cross-server ETags
    FileETag none
    # Enable compression for all files
    SetOutputFilter DEFLATE
    # Enable future expiry of static files
    ExpiresActive On
    ExpiresByType image/gif "access plus 6 months"
    ExpiresByType image/jpeg "access plus 6 months"
    ExpiresByType application/x-javascript "access plus 6 months"
    ExpiresByType text/css "access plus 6 months"
    ExpiresByType text/javascript "access plus 6 months"
    ExpiresByType image/png "access plus 6 months"
    Header set Cache-Control "max-age=7889231"
    DirectoryIndex default.jsp
    </Directory>
    
    # Restrict access to WEB-INF
    <Location /analytics/WEB-INF>
    Order Allow,Deny
    Deny from all
    </Location>
    

    次の点に注意してください。

    • Oracle Analyticsのカスタム・スキンおよびスタイルを構成した場合は、Apache HTTP Serverがこれらの静的ファイルの場所(デフォルトの場所のORACLE_HOME/bi/bifoundation/web/appv2など)にアクセスできるようにする必要があります。Webサーバーが実行されていて、この場所への読取り権限を持つことを確認します。

    • 別名エントリおよびディレクトリ・エントリは、Apache HTTP Serverに対して、静的ファイルのリクエストをOracle WebLogic Serverにルーティングするのではなく、処理することを指定するものです。圧縮および静的ファイルの失効に関するディレクティブについて、次の点に注意してください。

      • FileETag

        FileETag none
        

        このディレクティブは、Webサーバーに対して、レスポンス内でETagヘッダーを生成しないことを指定します。Apache HTTP ServerのデフォルトのETag生成は、単一サーバーのファイル・システムに密接に関係するため、ETagの生成はお薦めしません。

      • 圧縮関連のディレクティブ

        SetOutputFilter DEFLATE

        これらのディレクティブにより、Apache HTTP Serverはすべてのファイルを圧縮します。

      • Expiresヘッダーの制御

        ExpiresActive On
        ExpiresByType image/gif "access plus 6 weeks"
        ExpiresByType image/jpeg "access plus 6 weeks"
        ExpiresByType application/x-javascript "access plus 6 weeks"
        ExpiresByType text/css "access plus 6 weeks"
        ExpiresByType text/javascript "access plus 6 weeks"
        ExpiresByType image/png "access plus 6 weeks"
        

        このフラグメントでは、Apache HTTP Serverに対して、Expiresヘッダーの設定を有効にすることを指定しています。この例では、タイプごとの有効期限のデフォルトが、ファイル・タイプがクライアントによって初めてアクセスされた日の6週間後に設定されます。この期間を長くすることもできますが、静的ファイルに対するパッチや更新を十分に処理できるように、静的ファイルを頻繁にリフレッシュする必要があります。
      • Cache-Controlヘッダーの制御

        Header set Cache-Control "max-age=7889231" 

        このフラグメントでは、Apache HTTPサーバーに対して、Cache-Controlヘッダーを設定することを指定しています。この例では、Expiresヘッダーと一致するように、デフォルトは約6週間(秒単位)に設定されています。この値は、Expiresヘッダーと常に同期している必要があります。

      • デフォルトURLの処理

        DirectoryIndex default.jsp
        

        このディレクティブは、ユーザーが/analytics URLをリクエストして、その下のコンテンツを指定しなかった場合のフォールバック・ハンドラを提供します。このURLは、後続の処理でOracle WebLogic Serverにルーティングされます。

    • 最後のディレクティブでは、WEB-INFフォルダへのアクセスを制限します。このフォルダはJ2EEコンテナのデプロイメント・ディスクリプタの一部であり、Webクライアントに公開しないでください。

  3. ファイルを保存して閉じます。

静的ファイル・キャッシングのためのOracle HTTP Serverの構成

Oracle HTTP Serverの構成は、Apache HTTP Serverの構成と似ています。ただし、Oracle HTTP Serverとともにデフォルトでmod_wl_ohs.soモジュールがインストールされるため、プラグインをダウンロードしてインストールする必要がありません。

mod_wl_ohs.soモジュールで直接行う構成もあれば、httpd.confで行う構成もあります。『Oracle HTTP Serverの管理』を参照してください。