25 Oracle WebCenter Portalのチューニング

Oracle WebCenter Portalをチューニングし、デプロイ済のアプリケーションとして、そのパフォーマンスを最適化できます。

Oracle WebCenter Portalについて

Oracle WebCenter Portalでは、全社規模でのイントラネットおよびエクストラネットのポータルを構築することができ、こうしたポータルが、Oracle Fusion MiddlewareおよびOracle Fusion Applicationsにおける次世代型ユーザー・エクスペリエンス(UX)の基礎となっています。

通常、Oracle WebCenter Portalを使用して構築されたポータルでは、何千ものユーザーによる、複数のバックエンド・ソースからのコンテンツおよびデータの作成、更新およびアクセスがサポートされます。Oracle WebCenter Portalは、主要ポータル製品と関連テクノロジーの豊富なポートフォリオから最高のUX機能を利用して、直観的なユーザー・エクスペリエンスを提供します。ユーザーの観点から見た場合、統合はシームレスです。

ビジネス・ユーザーは、Portal Composer、あるいは事前に作成された再利用可能なコンポーネントからなるライブラリを内蔵するページ・エディタを使用して、新しいポータルや複合アプリケーションを簡単に構築できます。コンポーネントのページへの統合、コンテンツのパーソナライズの構成、統合されたソーシャル・ツールの使用、データ視覚化コンポーネントの作成によってユーザー・エクスペリエンスを向上させることができます。

Oracle WebCenter Portalの詳細は、次を参照してください。

チューニングに関する基本的な考慮事項

チューニングの考慮事項は、ほとんどのWebCenter Portalアプリケーションのデプロイメント・シナリオに当てはまります。

これらの各構成を検討し、特定の使用要件を満たしたものを実装することを強くお薦めします。

システム制限の設定

WebCenter Portalを適度な負荷で実行するには、open-files-limit4096に設定します。ファイル・ディスクリプタの不足などのエラーが発生した場合は、システム制限を増やします。

たとえば、Linuxでは次のコマンドを使用します。

ulimit -n 8192

このシステム制限を変更する方法については、オペレーティング・システムのドキュメントを参照してください。

JDBCデータ・ソースの設定

JDBCデータ・ソースの正しい設定を決定するには、Oracle WebLogic Server管理コンソールを使用して、JDBCデータ・ソースの構成の説明に従って実行システムのデータベース接続の使用率をモニタリングします。接続待機の失敗の割合が著しく高く、現在アクティブな接続の数が最大許容数に近づいている場合、発生の可能性のあるデータベース接続の競合を回避するため、許容数を増やすことを検討してください。

ただし、現在アクティブな接続の数が日常的に最大許容数よりも低い場合、許容数を減らしてメモリーを節約することを検討してください。

詳細は、『Oracle WebLogic Server JDBCデータ・ソースの管理』接続プール機能の構成に関する項を参照してください。

次のデータ・ソース設定は、mds-SpacesDSおよびWebCenterDSデータ・ソースのWebCenter Portalにおけるデフォルトです。これらの設定は、アプリケーションの使用パターンおよび負荷に応じて調整可能です。

    <jdbc-connection-pool-params>
        <initial-capacity>10</initial-capacity> 
        <max-capacity>50</max-capacity> 
        <capacity-increment>1</capacity-increment> 
        <shrink-frequency-seconds>0</shrink-frequency-seconds> 
        <highest-num-waiters>2147483647</highest-num-waiters> 
        <connection-creation-retry-frequency-seconds>0</connection-creation-retry-frequency-seconds> 
        <connection-reserve-timeout-seconds>60</connection-reserve-timeout-seconds>
        <test-frequency-seconds>0</test-frequency-seconds> 
        <test-connections-on-reserve>true</test-connections-on-reserve> 
        <ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
       <inactive-connection-timeout-seconds>0</inactive-connection-timeout-seconds>
        <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name> 
        <login-delay-seconds>0</login-delay-seconds>
        <statement-cache-size>5</statement-cache-size> 
        <statement-cache-type>LRU</statement-cache-type> 
        <remove-infected-connections>true</remove-infected-connections> 
        <seconds-to-trust-an-idle-pool-connection>60</seconds-to-trust-an-idle-pool-connection> 
        <statement-timeout>-1</statement-timeout> 
        <pinned-to-thread>false</pinned-to-thread> 
    </jdbc-connection-pool-params>

MDSデータ・ソース設定の編集方法については、『Oracle WebLogic Server JDBCデータ・ソースの管理』データ・ソース接続プールのチューニングに関する項を参照してください。

JRockit仮想マシン(JVM)引数の設定

JVM引数は、UNIXオペレーティング・システムのsetDomainEnv.shファイルおよびWindowsオペレーティング・システムのsetDomainEnv.cmdファイルに設定されます。setDomainEnvファイルは、domain_dir/binディレクトリにあります。

  • WebLogic Server本番モード: WebCenter Portalを本番デプロイメント用にインストールすると、WebLogic Serverは本番モードに設定されます。しかし、デプロイメント用にインストールした後に、パフォーマンスを向上させるために本番モードに切り替える場合は、次のパラメータを起動コマンドに含める必要があります。

    -Dweblogic.ProductionModeEnabled=true
    

    管理コンソールを使用した本番モードのドメインの設定の詳細は、『Oracle WebLogic Server Administration Consoleオンラインヘルプ』プロダクション・モードへの変更に関する項を参照してください。

  • ヒープ・サイズ: ガベージが収集されたり、メモリー不足のエラーが頻繁に発生したりしてサーバーがオーバーロードしている場合、サーバーの使用できる物理メモリーに応じてヒープ・サイズを増やします。

    詳細は、Java仮想マシン(JVM)のチューニングと、Oracle WebLogic Server管理コンソール・オンライン・ヘルプノード・マネージャで起動したサーバーのJavaオプションの設定に関する項を参照してください。

    サーバーの起動コマンドまたは管理コンソールで次のパラメータを変更して、ヒープ・サイズを増やすことができます。

    jrockit vm: -Xms2048M -Xmx2048M -Xns512M
    
    hotspot vm: -Xms2048M -Xmx2048M -XX:MaxPermSize512M
    

コンテンツの圧縮を使用したダウンロードの削減

クライアントがリモートの場所からモデムやVPNを利用して比較的遅い接続を使用するサーバーに接続する場合、クライアントにダウンロードする前にコンテンツを圧縮することを検討してください。コンテンツの圧縮でサーバーの負荷が高まりますが、クライアントのダウンロード体験が大幅に改善されます。

ノート:

リリース11.1.1.8.0以降、WebCenter PortalにはADFキャッシュ・フィルタが事前構成されるようになりました。これにより、静的リソースのキャッシュが自動設定され、圧縮が実行されます。この事前構成されたADFキャッシュ・フィルタは、WebLogic Serverでのみ使用できます。

いくつかのコンテンツの圧縮方法を使用できます。次のステップは、Apacheのmod_deflateモジュールの使用方法を示しています。

  1. Apacheのmod_deflateモジュールを有効にします。

    これを実行するには、次の内容をhttpd.conf ($OH/instances/$INSTANCE_NAME/config/OHS/$OHS_NAME)に追加します

    LoadModule deflate_module "${ORACLE_HOME}/ohs/modules/mod_deflate.so"

  2. 出力フィルタを設定して、圧縮のルールを指定します。

    次に示すのは、httpd.conf(上記の場所と同じ)に追加できるサンプル・スニペットです。コンテンツおよび圧縮要件に基づいて、コンテンツを変更します。

    <IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/atom+xml
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE text/html
    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
    SetEnvIfNoCase Request_URI \.(?:pdf|doc?x|ppt?x|xls?x)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
    </IfModule>
    

mod_deflateモジュールの詳細は、http://httpd.apache.org/docs/2.0/mod/mod_deflate.htmlを参照してください。

WebCenter Portalの構成のチューニング

構成パラメータをチューニングし、WebCenter Portalのパフォーマンスを向上できます。

WebCenter Portalのセッション・タイムアウトの設定

WebCenter Portalアプリケーションのデフォルトのセッション・タイムアウトは45分です。管理者は、それぞれのインストールに適したセッション時間をカスタマイズできます。詳細は、『Oracle WebCenter Portalでのポータルの使用』セッション・タイムアウト設定の指定に関する項を参照してください。

MDSキャッシュ・サイズおよびパージ頻度の設定

次のいずれかの状況が発生した場合、adf-config.xmlファイルのMDSキャッシュ・サイズを増やすことができます。デフォルトのMDSキャッシュ・サイズは100MBです。

  • JOCリージョンが一杯ですというエラー・メッセージ

  • ページのウォームアップ後の頻繁なMDSデータベース・アクセス

  • ADFアプリケーションの保持メモリーがmax-size-kbに近い

デプロイ後は、システムMBeanブラウザを使用してこれらのプロパティを変更します。詳細は、『Oracle Fusion Middlewareの管理』デプロイしたアプリケーションのMDS構成属性の変更に関する項を参照してください。

次に示すのは、adf-config.xmlファイルのサンプル・スニペットです。

<cache-config> 
<max-size-kb>150000</max-size-kb> 
</cache-config>

MDSデータをパージするとMDS問合せが改善されます。ポータル・サイトの変更の頻度が高い場合は、パージする間隔を短縮して古いMDSのパージ頻度をより高くすることができます。

MDSのauto-purge seconds-to-liveパラメータを(次の例に示すように)設定し、毎時、古いバージョンのメタデータを自動的に削除することを検討してください。デフォルトでは、古いバージョンのメタデータは1時間ごとに自動的にパージされます。つまり、auto-purge seconds-to-liveパラメータが3600秒に(次の例に示すように)設定されています。

ノート:

パージするたびに、データベースのCPU使用率が上がります。データベースのCPUに対する影響の方が、パージにより得られるパフォーマンス向上よりも重要であるため、(たとえば5分や10分間隔のように)頻繁にパージすることは控えてください。

メタデータが大量にたまってしまい、毎回のパージに高いコストがかかる場合は、adf-config.xmlファイルでこの間隔を短くします。

デフォルトでは、adf-config.xmlファイルにauto-purgeエントリはありません。次のadf-config.xmlファイルのサンプル・スニペットを使用して、自動パージを変更します。

<mdsC:adf-mds-config version="11.1.1.000">
    <mds-config xmlns="http://xmlns.oracle.com/mds/config">
      <persistence-config>
        <metadata-namePortal>
           ...
        </metadata-namespace>
        <auto-purge seconds-to-live="3600"/>
      </persistence-config>

最初のパージが現在のユーザー・アクティビティに影響しないことを確認するには、ほとんどのユーザー・ロードがシステムにヒットする前に次のWLSTコマンドを使用してすぐにMDSパージを実行することを検討してください。

次の例は、バージョンが10秒よりも古いアプリケーション・リポジトリのすべてのドキュメントをパージする方法を示しています。

wls:/weblogic/serverConfig>purgeMetadata(application='[AppName]',server='[ServerName]',olderThan=10)

同時実行性管理の構成

同時実行性の管理には、WebCenter Portal全体に影響を与えるグローバル設定、ならびに特定のサービスのみに影響を与えるサービス固有の設定およびリソース固有の設定が含まれます。

デプロイメント固有の変更や追加の構成は、adf-config.xmlファイルで定義します。たとえば、特定のデプロイメントに適したリソース固有(プロデューサ)の値を指定できます。

次のコード・スニペットは、adf-config.xmlファイルのglobalエントリ、serviceエントリおよびresourceエントリの形式を示しています。

<concurrent:adf-service-config 
  xmlns="http://xmlns.oracle.com/webcenterportal/concurrent/config"> 
  <global         
      queueSize="SIZE" 
      poolCoreSize="SIZE" 
      poolMaxSize="SIZE" 
      poolKeepAlivePeriod="TIMEPERIOD" 
      timeoutMinPeriod="TIMEPERIOD" 
      timeoutMaxPeriod="TIMEPERIOD" 
      timeoutDefaultPeriod="TIMEPERIOD" 
      timeoutMonitorFrequency="TIMEPERIOD" 
      hangMonitorFrequeny="TIMEPERIOD" 
      hangAcceptableStopPeriod="TIMEPERIOD" /> 
  <service 
      service="SERVICENAME" 
      timeoutMinPeriod="TIMEPERIOD" 
      timeoutMaxPeriod="TIMEPERIOD" 
      timeoutDefaultPeriod="TIMEPERIOD" /> 
  <resource 
      service="SERVICENAME" 
      resource="RESOURCENAME" 
      timeoutMinPeriod="TIMEPERIOD" 
      timeoutMaxPeriod="TIMEPERIOD" 
      timeoutDefaultPeriod="TIMEPERIOD" /> 
</concurrent:adf-service-config> 

ここで:

SIZE: 正の整数。たとえば: 20

TIMEPERIOD: 正の整数と時間単位を示す接尾辞の組合せ。時間単位は、ms(ミリ秒)、s(秒)、m(分)、h(時間)のいずれかです。たとえば、50ms10s3m1hのようになります。様々なサービスのデフォルト設定の例を次に示します。これらの設定は、connections.xmlファイルまたはadf-config.xmlファイルのサービス固有の構成で上書きされます。

<concurrent:adf-service-config 
  xmlns="http://xmlns.oracle.com/webcenter/concurrent/config"> 
  <service service="oracle.webcenter.community" timeoutMinPeriod="2s" timeoutMaxPeriod="50s" timeoutDefaultPeriod="30s"/>
  <resource service="oracle.webcenter.community" 
      resource="oracle.webcenter.doclib" 
      timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/> 
  <resource service="oracle.webcenter.community" 
      resource="oracle.webcenter.collab.calendar.community" 
      timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/> 
  <resource service="oracle.webcenter.community" 
      resource="oracle.webcenter.collab.rtc" 
      timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/> 
  <resource service="oracle.webcenter.community" 
      resource="oracle.webcenter.list" 
      timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/> 
  <resource service="oracle.webcenter.community" 
      resource="oracle.webcenter.collab.tasks" 
      timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/> 
</concurrent:adf-service-config>

ノート:

serviceおよびresource以外の属性はすべてオプションです。そのため、たとえば次のタグは有効です。

<global queueSize="20"/>
    <resource service="foo" resource="bar" timeoutMaxPeriod="5s"/>

Enterprise ManagerのシステムMBeanブラウザを使用して、使用パターンに基づく同時実行性構成を表示、追加、変更および削除できます。MBeanブラウザにアクセスするには、Oracle WebCenter Portalの管理システムMBeanブラウザへのアクセスに関する項を参照してください。

  1. システムMBeanブラウザで、次の場所に移動します。

    「アプリケーション定義のMBean」「oracle.adf.share.config」「サーバー: (サーバー名)」「アプリケーション: (アプリケーション名)」「ADFConfig」「ADFConfig (bean)」 「ADFConfig」「WebCenterConcurrentConfiguration」「操作」「listResource」

  2. 現在の同時実行性設定を表示するには、「listResource」を選択して、「起動」をクリックします。
  3. 設定を変更するには、「setResource」を選択して、リソースの詳細を入力し、「起動」をクリックします。

    サービスリソース名前,およびに正しい値を注意して入力してください。

    ノート:

    変更しようとしているリソース・パラメータに、すでに設定がある場合、最初にremoveResource操作を起動してその設定を削除する必要があります。

  4. 変更を保存するには、「アプリケーション定義のMBeans: ADFConfig:ADFConfig」 -> 「保存」に移動し、「起動」をクリックします。

ツールとサービスの構成のチューニング

WebCenter Portalによって使用されるツールおよびサービスは、そのパフォーマンスをチューニングできます。

メール・サーバー、BPELサーバー、コンテンツ・サーバーなどのバックエンド・サーバーのパフォーマンスをチューニングして向上させる方法については、各サーバーの該当する製品ドキュメントを参照してください。

お知らせのパフォーマンス・チューニング

お知らせの全体的なリソース使用状況を管理するには、接続タイムアウト・プロパティを次のようにチューニングします。

  • デフォルト: 10秒

  • 最小: 0秒

  • 最大: 45秒

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用して「接続タイムアウト」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、デフォルトのタイムアウト値を5秒に変更するconnections.xmlファイルのサンプル・コード・スニペットです。

<Reference name="Jive-7777" className="oracle.adf.mbean.share.connection.webcenter.Announcement. AnnouncementConnection">
<Factory className="oracle.adf.mbean.share.connection.webcenter.forum.ForumConnectionFactory"/>
          <StringRefAddr addrType="connection.time.out">
             <Contents>5</Contents>
          </StringRefAddr>
       </RefAddresses>
</Reference>

ディスカッションのパフォーマンス・チューニング

ディスカッションの全体的なリソース使用状況を管理するには、「接続タイムアウト」プロパティを次のようにチューニングします。

  • デフォルト: 10秒

  • 最小: 0秒

  • 最大: 45秒

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用して「接続タイムアウト」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、connections.xmlファイルのサンプル・スニペットです。

<Reference name="Jive-7777" className="oracle.adf.mbean.share.connection.webcenter.forum.ForumConnection">
         <Factory className="oracle.adf.mbean.share.connection.webcenter.forum.ForumConnectionFactory"/>
         <RefAddresses>
            <StringRefAddr addrType="forum.url">
               <Contents>http://[machine]:[port]/owc_discussions_5520</Contents>
               <StringRefAddr addrType="connection.time.out">
               <Contents>5</Contents>
            </StringRefAddr>
         </RefAddresses>
</Reference>

インスタント・メッセージおよびプレゼンスのパフォーマンス・チューニング

インスタント・メッセージおよびプレゼンスの全体的なリソース使用状況を管理するには、「接続タイムアウト」プロパティを次のようにチューニングします。

  • デフォルト: 10秒

  • 最小: 0秒

  • 最大: 45秒

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用して「接続タイムアウト」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、デフォルトのタイムアウト値を5秒に変更するconnections.xmlファイルのサンプル・コード・スニペットです。

<Reference name="IMPService-LCS"
   className="oracle.adf.mbean.share.connection.webcenter.rtc.RtcConnection">
  <Factory className="oracle.adf.mbean.share.connection.webcenter.rtc.RtcConnectionFactory"/>
   <RefAddresses>
    <StringRefAddr addrType="connection.time.out">
     <Contents>5</Contents>
    </StringRefAddr>
   </RefAddresses>
</Reference>

メールのパフォーマンス・チューニング

メールの全体的なリソース使用状況を管理するには、「接続タイムアウト」プロパティを次のようにチューニングします。

  • デフォルト: 10秒

  • 最小: 0秒

  • 最大: 45秒

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用して「接続タイムアウト」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、デフォルトのタイムアウト値を5秒に変更するconnections.xmlファイルのサンプル・コード・スニペットです。

<Reference name="MailConnection"
className="oracle.adf.mbean.share.connection.webcenter.mail.MailConnection">
  <StringRefAddr addrType="connection.time.out">
      <Contents>5</Contents>
  </StringRefAddr>
</Reference>

個人イベントのパフォーマンス・チューニング

個人イベントの全体的なリソース使用状況を管理するには、「接続タイムアウト」プロパティを次のようにチューニングします。

  • デフォルト: 10秒

  • 最小: 0秒

  • 最大: 45秒

キャッシュ有効期限も設定できます。

  • デフォルト: 10秒

  • 最小: 0秒

  • 最大: 45秒

デプロイメント後に、Fusion Middleware ControlまたはWLSTを使用して、「接続タイムアウト」および「キャッシュの期限」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、デフォルトのタイムアウト値を5秒に変更するconnections.xmlファイルのサンプル・コード・スニペットです。

<Reference name="MSExchange-my-pc"className="oracle.adf.mbean.share.connection.webcenter.calendar.PersonalEventConnection">
  <Factory className="oracle.adf.mbean.share.connection.webcenter.calendar.PersonalEventConnectionFactory"/>
  <StringRefAddr addrType="eventservice.connection.timeout">
    <Contents>5</Contents>
  </StringRefAddr>
  <StringRefAddr addrType="eventservice.cache.expiration.time">
    <Contents>5</Contents>
  </StringRefAddr>
 </RefAddresses>
</Reference>

RSSニュース・フィードのパフォーマンス・チューニング

RSSニュース・フィードの全体的なリソース使用状況を管理するには、adf-config.xmlファイルでリフレッシュ間隔およびタイムアウトを調整します。

これらのプロパティをデプロイメント後に変更する必要がある場合は、システムMBeanブラウザを使用してください。

次に示すのは、adf-config.xmlファイルのサンプル・スニペットです。

<rssC:adf-rss-config>
       <rssC:RefreshSecs>3600</rssC:RefreshSecs>
       <rssC:TimeoutSecs>3</rssC:TimeoutSecs>
       <rssC:Configured>true</rssC:Configured>
</rssC:adf-rss-config>

検索のパフォーマンス・チューニング

検索の全体的なリソース使用状況およびユーザー・レスポンス時間を管理するには、表示される保存済の検索の数、表示される結果の数、および次のタイムアウト値を調整します。

  • prepareTimeoutMs: サービスが検索の初期化にかけられる最大時間(ミリ秒)。

  • timeoutMs: サービスが検索の実行にかけられる最大時間(ミリ秒)。

  • showAllTimeoutMs: サービスがすべての検索結果の表示にかけられる最大時間(ミリ秒)。

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用してタイムアウト・プロパティを変更します。詳細は、次を参照してください。

次に示すのは、adf-config.xmlファイルのサンプル・スニペットです。

<searchC:adf-search-config xmlns="http://xmlns.oracle.com/webcenter/search/config">
         <display-properties>
            <common numSavedSearches="25"/>
            <region-specific>
               <usage id="simpleSearchResultUIMetadata" numServiceRows="5"/>
               <usage id="searchResultUIMetadata" numServiceRows="5"/>
               <usage id="localToolbarRegion" numServiceRows="5"/>
            </region-specific>
         </display-properties>
        <execution-properties prepareTimeoutMs="1000" timeoutMs="3000" showAllTimeoutMs="20000" />
         </execution-properties>
</searchC:adf-search-config>

ポリシー・ストアのパラメータのチューニング

ログイン後にパフォーマンスの問題が発生している場合(特に権限のチェックの分野)、ポリシー・ストア・パラメータが、OPSS PDPサービス・チューニング・パラメータの説明に従ってチューニングされている必要がある場合があります。ユースケース・シナリオによっては、WebCenter Portalのパフォーマンスは、次のパラメータを変更することで向上する可能性があります。

  • oracle.security.jps.policystore.rolemember.cache.warmup.enableをTrueに設定

  • WebCenter Portalデプロイメントにあるアクティブなポータルの数に基づいてoracle.security.jps.policystore.rolemember.cache.sizeを変更。

    ノート:

    このパラメータは、WebCenter Portalデプロイメントに3000個を超えるアクティブなポータルの存在が予想される場合にのみ変更してください。

  • oracle.security.jps.policystore.policy.cache.sizeをポータルの予想数の5倍に設定。

ノート:

ポリシー・ストア・パラメータを変更する前に、必ず自身のユース・ケース・シナリオを参照してください。セキュリティ・パラメータをチューニングする前に、Webサービスの管理を参照してください。

アイデンティティ・ストア構成のチューニング

特定の環境ではパフォーマンス関連の構成が必要になる可能性があります。

SSL使用時のアイデンティティ・ストアのチューニング

WebCenter Portalのアイデンティティ・ストアを構成する場合は、SSLポートと非SSLポートのどちらを構成するかを選択できます。デフォルトでは、SSLポートを選択した場合、JNDI接続はプールされないため、ユーザー、グループまたはその他のアイデンティティ・ストア・エンティティの検索時にレスポンス時間が長くなり、パフォーマンスが低下します。これを解決するには次の手順を実行します。

  1. domain_home/config/fmwconfig/jps-config.xmlの下にあるjps-config.xmlファイルを開き、idstore.ldapサービス・インスタンスを見つけて、次の強調表示されている行を追加します。
    <!-- JPS WLS LDAP Identity Store Service Instance -->
        <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider">
           <property name="idstore.config.provider"   value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider"/>
           <property name="CONNECTION_POOL_CLASS"    value="oracle.security.idm.providers.stdldap.JNDIPool"/>
           <property name="java.naming.ldap.factory.socket"
    value="javax.net.ssl.SSLSocketFactory"/> 
         </serviceInstance> 
    
  2. 次のJVMパラメータを使用して、SSLポート上のアイデンティティ・ストアに接続される、ドメイン内のすべてのサーバーを再起動します。
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl
    

    この指定はsetDomainEnv.shを変更することによって行うか、コンソールから直接行うことができます。

OVD使用時のパフォーマンスのチューニング

Oracle Virtual Directory (OVD)の場合、属性が参照される唯一のオブジェクト・クラスはinetOrgPerson (親オブジェクト・クラス)です。プロファイル・ギャラリでは、inetOrgPersonで定義されていない属性を表示できるため、inetOrgPersonで定義されていない追加属性はすべて、アイデンティティ・ストアへの追加のラウンドトリップを必要とします。本番環境でOVDを使用するときのパフォーマンスを最適化するために、次の構成エントリ(太字部分)をドメイン・レベルのjps-config.xmlファイルに追加することをお薦めします。

        <!-- JPS WLS LDAP Identity Store Service Instance -->
        <serviceInstance name="idstore.ldap"
         provider="idstore.ldap.provider">
            <property name="idstore.config.provider"
value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider"/>
            <property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
 
          <extendedProperty>
            <name>user.object.classes</name>
            <values>
               <value>top</value>
               <value>person</value>
               <value>inetorgperson</value>
               <value>organizationalperson</value>
               <value>orcluser</value>
               <value>orcluserv2</value>
               <value>ctCalUser</value>
            </values>
          </extendedProperty>
        </serviceInstance>

Active Directory使用時のパフォーマンスのチューニング

本番環境でActive Directoryを使用するときのパフォーマンスを最適化するために、次の構成エントリ(太字部分)をドメイン・レベルのjps-config.xmlファイルに追加することをお薦めします。

        <serviceInstance provider="idstore.ldap.provider"
         name="idstore.ldap">
           <property value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider"
           name="idstore.config.provider"/>
          <property value="oracle.security.idm.providers.stdldap.JNDIPool"
           name="CONNECTION_POOL_CLASS"/>
          <property name="PROPERTY_ATTRIBUTE_MAPPING" value="WIRELESS_ACCT_NUMBER=mobile:MIDDLE_NAME=middlename:MAIDEN_NAME=sn:DATE_OF_HIRE=pwdLastSet:NAME_SUFFIX=generationqualifier:DATE_OF_BIRTH=pwdLastSet:DEFAULT_GROUP=primaryGroupID" />
          <property value="sAMAccountName" name="username.attr"/>
          <property value="sAMAccountName" name="user.login.attr"/>
        </serviceInstance> 

プロファイルは、これらすべての属性に対して問合せを実行します。また、Active Directoryプロバイダ内には、これらの属性のデフォルトのマッピングはありません。デフォルトのActive Directoryインストールには、DATE_OF_HIREおよびDATE_OF_BIRTHに対応したマッピングは含まれません。

これら2つの属性は、不要なLDAPサーバー・コールを減らすことを目的とした、正しいデータ型を持つなんらかの属性へのマッピングです。Active Directoryには、同じセマンティクス上の意味を持つ対応属性は含まれません。

ポートレット構成のチューニング

WebCenter Portalのポートレットに対するパフォーマンスをチューニングできます。

ポートレット・クライアントのパフォーマンス・チューニング

ポートレット・クライアントには、様々なチューニング・オプションを使用できます。

サポートされるロケールの構成

全体的なリソース使用状況およびユーザー・レスポンス時間を管理するには、adf-config.xmlファイルで不要なロケール・サポートを削除し、ポートレットのタイムアウトおよびキャッシュ・サイズを変更します。

ポートレット・サービスに対しては、すぐに使用できるように、28のサポート・ロケールが定義されています。アプリケーションに必要のないロケールは削除できます。

デプロイメント後にこれらのプロパティを変更する必要がある場合、adf-config.xmlファイルを手動で編集してください。Oracle WebCenter Portalの管理adf-config.xmlの編集に関する項を参照してください。

次に示すのは、adf-config.xmlファイルのサンプル・スニペットです。

<portletC:adf-portlet-config xmlns="http://xmlns.oracle.com/adf/portlet/config">
         <supportedLocales>
           <value>es</value>
           <value>ko</value>
           <value>ru</value>
           <value>ar</value>
           <value>fi</value>
           <value>nl</value>
           <value>sk</value>
           <value>cs</value>
           <value>fr</value>
           <value>no</value>
           <value>sv</value>
           <value>da</value>
           <value>hu</value>
           <value>pl</value>
           <value>th</value>
           <value>de</value>
           <value>it</value>
           <value>pt</value>
           <value>tr</value>
           <value>el</value>
           <value>iw</value>
           <value>pt_BR</value>
           <value>zh_CN</value>
           <value>en</value>
           <value>ja</value>
           <value>ro</value>
           <value>zh_TW</value>
         </supportedLocales>
         <defaultTimeout>20</defaultTimeout>
         <minimumTimeout>1</minimumTimeout>
         <maximumTimeout>300</maximumTimeout>
         <parallelPoolSize>10</parallelPoolSize>
         <parallelQueueSize>20</parallelQueueSize>
         <cacheSettings enabled="true">
           <maxSize>10000000</maxSize>
         </cacheSettings>
</portletC:adf-portlet-config>
ポートレット・キャッシュ・サイズの構成

adf-config.xmlファイルでポートレット・キャッシュ・サイズを変更できます。デフォルトのポートレット・キャッシュ・サイズは10MBに設定されています。

デプロイメント後にこれらのプロパティを変更する必要がある場合、adf-config.xmlファイルを手動で編集してください。

詳細は、『Oracle WebCenter Portalの開発』ポートレット・クライアント構成を編集する方法に関する項を参照してください

ポートレット・タイムアウトの構成

adf-config.xmlファイルのadf-portlet-config要素でポートレット・タイムアウトの値を変更できます。

  • デフォルト: 10秒

  • 最小: 0.1秒

  • 最大: 60秒

デプロイメント後にこれらのプロパティを変更する必要がある場合、adf-config.xmlファイルを手動で編集してください。Oracle WebCenter Portalの管理adf-config.xmlの編集に関する項を参照してください。

次に示すのは、adf-config.xmlファイルのサンプル・スニペットです。

<adf-portlet-config> 
     .... 
  <defaultTimeout>5</defaultTimeout>
  <minimumTimeout>2</minimumTimeout>
  <maximumTimeout>300</maximumTimeout>
</adf-portlet-config>

WSRPプロデューサのJavaオブジェクト・キャッシュの有効化

Portal Frameworkアプリケーションでは、永続ストアに書き込まれるオブジェクトをキャッシュするために、WSRPプロデューサのJavaオブジェクト・キャッシュ(JOC)を有効にすることをお薦めします。

コンテナ・ランタイムの環境オプションのカスタマイズ

コンテナ・ランタイム・オプションをカスタマイズして、全体的なパフォーマンスを向上できます。

詳細は、『Oracle WebCenter Portalの開発』JSR 286ポートレットのランタイム環境をカスタマイズする方法に関する項を参照してください。

WSRPポートレットのオプティミスティック・レンダリングの抑制

WSRP PerformBlockingInteractionまたはHandleEvents呼出しの後にWSRPポートレットのオプティミスティック・レンダリングを抑制するには、portlet.xmlファイルのポートレット・コンテナ・ランタイム・オプションをtrueに設定します。たとえば:

com.oracle.portlet.suppressWsrpOptimisticRender=true

通常、WSRPポートレットがWSRP PerformBlockingInteractionリクエスト(JSR168/JSR286ポートレットのprocessAction)を受け取り、その結果ポートレットがイベントを送信しない場合、WSRPプロデューサはポートレットをレンダリングし、PerformBlockingInteraction SOAPメッセージに応答してポートレットのマークアップを戻します。このマークアップは、コンシューマのページがレンダリングされるまでコンシューマによってキャッシュされる場合があります。また、少なくともポートレットの状態に影響する場合(イベントを受信するポートレットなど)、コンシューマがキャッシュされたマークアップを使用できるので、GetMarkupへの2番目のSOAPコールが必要なくなります。

これには、ポートレットのレンダリング・フェーズが常にベスト・プラクティスの多重呼出し不変であると仮定します。ただし、ポートレットがイベントを受け取る可能性がある場合またはポートレットのレンダリングがGetMarkupの2番目のSOAPメッセージよりもコストがかかる場合、開発者はこのコンテナ・オプションを使用して、processActionまたはhandleEvent呼出し後のポートレットのオプティミスティック・レンダリングを抑制できます。プロデューサがWSRP GetMarkupリクエストを受け取ると、ポートレットが通常レンダリングされます。

詳細は、『Oracle WebCenter Portalの開発』JSR 286ポートレットのランタイム環境をカスタマイズする方法に関する項を参照してください。

ポートレット・コンテナ・ランタイム・オプションの設定

WebCenterポータル特有のexcludedActionScopeRequestAttributesコンテナ・ランタイム・オプションを使用して、新しいアクションが発生するまでポートレットが使用できるように、アクション・スコープ指定リクエスト属性を保存する方法を指定できます。

com.oracle.portlet.externalScopeRequestAttributesコンテナ・ランタイム・オプションに定義された正規表現と一致する値を含むリクエスト・パラメータに加えて、正規表現と一致するリクエスト属性は、javax.portlet.actionScopedRequestAttributesコンテナ・ランタイム・オプションが使用されている場合、アクション・スコープ指定リクエスト属性としては保存されません。

trueに設定した場合、numberOfCachedScopesの2番目の値と、ポートレット・コンテナによりキャッシュされるスコープの数を示す3番目の値を指定できます。

詳細は、『Oracle WebCenter Portalの開発』JSR 286ポートレットのランタイム環境をカスタマイズする方法に関する項を参照してください。

ポートレットのリクエスト属性の除外

excludedActionScopeRequestAttributesは複数値のポートレット・コンテナ・ランタイム・プロパティで、その各値は正規表現です。

ポートレットとともにjavax.portlet.actionScopedRequestAttributesコンテナ・ランタイム・オプションを使用する場合、com.oracle.portlet.excludedActionScopeRequestAttributesコンテナ・ランタイム・オプションを使用してポートレットのライフサイクル間で格納するリクエスト属性を最適化できます。ライフサイクル間で格納する必要がないリクエスト属性のパフォーマンスを向上できます。

詳細は、『Oracle WebCenter Portalの開発』JSR 286ポートレットのランタイム環境をカスタマイズする方法に関する項を参照してください。

Oracle PDK-Javaプロデューサのパフォーマンス・チューニング

Webプロデューサの全体的なリソース使用状況を管理するには、「接続タイムアウト」プロパティを次のようにチューニングします。

  • デフォルト: 30000ミリ秒

  • 最小: 5000ミリ秒

  • 最大: 60000ミリ秒

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用して「接続タイムアウト」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、connections.xmlファイルのサンプル・スニペットです。

<webproducerconnection producerName="wc-WebClipping" urlConnection="wc-WebClipping-urlconn" timeout="10000" establishSession="true" mapUser="false"/>

ポートレットによって提供されたリソース用のWSRP属性の設定

ポートレットによって提供されたリソースのリソースURLを生成する場合に使用するデフォルトのWSRP requiresRewriteフラグを指定するには、portlet.xmlに指定されるポートレット・コンテナ・ランタイム・オプションのcom.oracle.portlet.defaultServedResourceRequiresWsrpRewriteを設定します

ResourceURLメソッドのwrite()またはtoString()の呼出し時にoracle.portlet.server.resourceRequiresRewritingリクエスト属性でオーバーライドしないかぎり、この設定はポートレットで作成されたすべてのResourceURLに使用されます。この設定は提供されたリソース・レスポンスのWSRP requiresRewritingフラグの指定にも使用されますが、ポートレットのserveResource()メソッドが戻されるときのoracle.portlet.server.resourceRequiresRewritingリクエスト属性でオーバーライドできます。

有効な値:

  • unspecified: (デフォルト) requiresRewrite URLフラグに値は提供されず、serveResource操作のrequiresRewritingレスポンス・フラグがレスポンスのMIMEタイプに基づいています。

  • true: requiresRewrite URLフラグおよびrequiresRewritingレスポンス・フラグがtrueに設定され、コンシューマがリソースを書き換える必要があることを示します。

  • false: requiresRewrite URLフラグおよびrequiresRewritingレスポンス・フラグがfalseに設定され、コンシューマはリソースの書換えを選択できますがリソースを必ずしも書き換える必要はありません。

ポートレットによって提供されないリソース用のWSRP属性の設定

ポートレットによって提供されないリソースのURLを暗号化する場合に使用するデフォルトのWSRP requiresRewriteフラグを指定するには、portlet.xmlに指定されるポートレット・コンテナ・ランタイム・オプションのcom.oracle.portlet.defaultProxiedResourceRequiresWsrpRewriteを設定します。

PortletResponse.encodeURL()メソッドの呼出し時にoracle.portlet.server.resourceRequiresRewritingリクエスト属性でオーバーライドしないかぎり、この設定はPortletResponse.encodeURL()メソッドで戻されたすべてのURLに使用されます。

有効な値:

  • true: (デフォルト) requiresRewrite URLフラグがtrueに設定され、コンシューマがリソースを書き換える必要があることを示します。

  • false: requiresRewrite URLフラグがfalseに設定され、コンシューマがリソースを必ずしも書き換える必要がないことを示します。

OmniPortletのパフォーマンス・チューニング

OmniPortletの全体的なリソース使用状況を管理するには、「接続タイムアウト」プロパティを次のようにチューニングします。

  • デフォルト: 30000ミリ秒

  • 最小: 5000ミリ秒

  • 最大: 60000ミリ秒

デプロイメント後は、Fusion Middleware ControlまたはWLSTを使用して「接続タイムアウト」プロパティを変更します。詳細は、次を参照してください。

次に示すのは、connections.xmlのサンプル・スニペットです。

<webproducerconnection producerName="wc-OmniPortlet" urlConnection="wc-OmniPortlet-urlconn" timeout="10000" establishSession="false" mapUser="false"/>