Skip Headers
Oracle® Fusion Middleware Performance and Tuning Guide
11g Release 1 (11.1.1)

Part Number E10108-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

22 Oracle WebCenter Performance Tuning

This chapter outlines how to tune configuration properties for the operating system on which WebCenter applications are installed, WebCenter applications, and their back-end components.

22.1 About Oracle WebCenter

Oracle WebCenter Suite 11g is an integrated suite of products used to create social applications, enterprise portals, communities, composite applications, and internet or intranet Web sites on a standards-based, service-oriented architecture (SOA). The suite combines the development of rich internet applications, a multi-channel portal framework, and a suite of horizontal Enterprise 2.0 applications, which provide content, presence, and social networking capabilities to create a highly interactive user experience. Interacting with services such as instant messaging, blogs, wikis, RSS, tags, Voice over IP, discussion forums, activities and social networks directly within the context of a portal or an application improves user and group productivity and enhances the return on IT investments.Oracle WebCenter Spaces is an out-of-the-box WebCenter application that brings you the latest technology in terms of social networking, communication, collaboration, and personal productivity with no development effort. Through the robust set of integrated Web 2.0 services and applications provided by Oracle WebCenter Framework, Oracle WebCenter Composer and Business Dictionary, WebCenter Spaces enables you to deploy instant community portals, team sites and other collaborative applications. Oracle WebCenter Spaces provides three key capabilities within a single application: Personal Spaces, Business Role Pages and Group Spaces.

For more information about Oracle WebCenter, see Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter and Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

22.2 Tuning Environment Configuration

This section describes how to tune the operating system on which WebCenter applications are deployed. It provides information on configuring system limit, JDBC data source, and JRockit virtual machine (JVM) arguments.

22.2.1 Setting System Limit

To run a WebCenter application at moderate load, set the open-files-limit to 4096. If you encounter errors, such as running out of file descriptors, then increase the system limit.

For example, on Linux, you can use this command:

ulimit -n 8192

Refer to your operating system documentation to find out how to change this system limit.

22.2.2 Setting JDBC Data Source

The following data source settings are recommended for MDSDS and WebCenterDS. These settings can be adjusted depending on the application's usage pattern and load.

<jdbc-connection-pool-params>
        <initial-capacity>10</initial-capacity> 
        <max-capacity>200</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>50</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>

To edit JDBC data source settings:

  1. Login to WebLogic Server Administration Console.

  2. From the Home page, select Summary of JDBC Data Sources, Settings for mds-SpacesDS, and then the Connection Pool tab.

  3. Edit properties, as required.

See also "Configuring JDBC Data Sources" in Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server.

22.2.3 Setting JRockit Virtual Machine (JVM) Arguments

JVM arguments are set in the setDomainEnv.sh file.

  • WebLogic Server production mode: To enable WebLogic Server production mode through WebLogic Administration Console, see Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server. The parameter is:

    -Dweblogic.ProductionModeEnabled=true
    
  • Heap size: If the system is overloaded, that is, garbage is collected or out of memory error occurs frequently, then increase the heap size as appropriate to your system's available physical memory. The parameter is:

    -Xms2048M -Xmx2048M -Xns512M
    
  • Memory size: Default memory sizes for custom WebCenter applications are set as follows:

    -Xmx512M -XX:PermSize=128M -XX:MaxPermSize512M
    

    This is an out-of-the-box setting.

  • Garbage collector behavior: To maximize throughput in an application, set the following JVM option for the application's garbage collector behavior:

    -Xgcprio:throughput -Djrockit.codegen.newlockmatching=true
    

    This is an out-of-the-box setting.

  • Security: The following JVM arguments improve performance of WebCenter application's security layer. These are out-of-box settings.

    -DUSE_JAAS=false -Djps.policystore.hybrid.mode=false
    -Djps.combiner.optimize.lazyeval=true 
    -Djps.combiner.optimize=true -Djps.auth=ACC
    
  • Log output: This option reduces the log output in some WebCenter application-dependent components. This is an out-of-box setting:

    -Djbo.debugoutput=silent 
    

22.3 Tuning WebCenter Application Configuration

This section describes parameters that enable administrators to tune performance of WebCenter applications.

This section includes the following:

22.3.1 Setting HTTP Session Timeout

To manage over resource usage, adjust the session timeout value, in minutes, in the web.xml file.

If you must modify this property, post deployment, you must edit web.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

The following is a sample snippet of web.xml:

<session-config>
         <session-timeout>
            45
         </session-timeout>
      </session-config>

22.3.2 Setting JSP Page Timeout

You can specify an integer value, in seconds, after which any JSP page will be removed from memory if it has not been requested in the web.xml file. This frees up resources in situations where some pages are called infrequently.

Increasing the value reduces user response time, and decreasing it reduces application memory foot print. The default value is 0, for no timeout.

If you must modify this property, post deployment, you must edit web.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter

The following is a sample snippet of web.xml:

<servlet>
         <servlet-name>
            oraclejsp
         <init-param>
            <param-name>
               jsp_timeout
            </param-name>
            <param-value>
               600
            </param-value>
         </init-param>

22.3.3 Setting ADF Client State Token

Through this setting, you can control the number of pages users can navigate using the browser Back button without losing information. To reduce CPU and memory usage, you can decrease the value in the web.xml file.

If you must modify this property, post deployment, you must edit web.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter

The following is a sample snippet of web.xml:

<context-param>
         <param-name>
            org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS
         </param-name>
         <param-value>
            3
         </param-value>
      </context-param>

22.3.4 Setting MDS Cache Size and Purge Rate

The default MDS cache size is 100MB. If you encounter the error message, JOC region full, then you can increase the MDS cache size in the adf-config.xml file.

Post deployment, modify these properties through the System MBeans Browser. For more information, see the section "Changing MDS Configuration Attributes for Deployed Applications" in Oracle Fusion Middleware Administrator's Guide.

The following is a sample snippet of adf-config.xml:

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

MDS purges old version of metadata automatically every hour. If excessive metadata is accumulated and each purge is very expensive, reduce this interval in the adf-config.xml file.

The following is a sample snippet of adf-config.xml:

<auto-purge seconds-to-live="3600"/>

22.3.5 Configuring Concurrency Management

Concurrency management includes global settings that impact entire WebCenter and service- and resource-specific settings that only impact a particular service.

You can define deployment-specific overrides or additional configuration in the adf-config.xml file. For example, you can specify resource-specific (producers) values that are appropriate for a particular deployment.

If you must modify these properties, post deployment, you must edit adf-config.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

The following describes the format of the global, service, and resource entries in adf-config.xml:

<concurrent:adf-service-config 
  xmlns="http://xmlns.oracle.com/webcenter/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> 

Where:

SIZE: A positive integer. For example: 20.

TIMEPERIOD: Any positive integer followed by a suffix indicating the time unit, which must be one of: ms for milliseconds, s for seconds, m for minutes, or h for hours. For example: 50ms, 10s, 3m, or 1h. The following are examples of default settings for different services. These settings are overwritten with any service-specific configurations in connections.xml or adf-config.xml files:

<concurrent:adf-service-config 
  xmlns="http://xmlns.oracle.com/webcenter/concurrent/config"> 
  <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>

Note:

All of the attributes except service and resource are optional, and therefore, for example, the following tags are valid:
<global queueSize="20"/>
    <resource service="foo" resource="bar" timeoutMaxPeriod="5s"/>

22.3.6 Configuring CRUD APIs (Create, Read, Update and Delete)

CRUD API configuration for WebCenter update is defined in the adf-config.xml file. You can adjust the timeout to manage overall resource usage.

If you must modify these properties, post deployment, you must edit adf-config.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

The following is a sample snippet of adf-config.xml:

<!-- The following entry configures the timeout for Webcenter Application CRUD APIs -->
<concurrent:service service="oracle.webcenter.community" timeoutMinPeriod="100ms" timeoutMaxPeriod="4s" timeoutDefaultPeriod="2s"/>
<!-- Webcenter Application configuration END -->

22.4 Tuning Back-End Component Configuration

This section describes performance configuration for back-end services used by WebCenter applications. Performance of back-end servers, for example, Worklists, Oracle Content Server, and so on, should be tuned as described in guidelines for those back-ends.

This section includes the following sub sections:

22.4.1 Tuning Performance of the Announcements Service

To manage overall resource usage for the Announcements service, you can tune the Connection Timeout property:

  • Default: 10 seconds

  • Minimum: 0 seconds

  • Maximum: 45 seconds

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of 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>

22.4.2 Tuning Performance of the Discussions Service

To manage overall resource usage for the Discussions service, you can tune the Connection Timeout property:

  • Default: 10 seconds

  • Minimum: 0 seconds

  • Maximum: 45 seconds

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of 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>

22.4.3 Tuning Performance of the Instant Messaging and Presence (IMP) Service

To manage overall resource usage for the IMP service, you can tune the Connection Timeout property:

  • Default: 10 seconds

  • Minimum: 0 seconds

  • Maximum: 45 seconds

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of connections.xml:

<Reference name="IMPService-OWLCS"
    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>

22.4.4 Tuning Performance of the Mail Service

To manage overall resource usage for the Mail service, you can tune the Connection Timeout property:

  • Default: 10 seconds

  • Minimum: 0 seconds

  • Maximum: 45 seconds

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of connections.xml:

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

22.4.5 Tuning Performance of the RSS News Feed Service

To manage overall resource usage for the RSS News Feed service, you can adjust the refresh interval and timeout in the adf-config.xml file.

If you must modify these properties, post deployment, use the System MBeans Browser.

The following is a sample snippet of 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>

22.4.6 Tuning Performance of the Search Service

To manage overall resource usage and user response time for searching, you can adjust the number of saved searches displayed, the number of results displayed, and these timeout values:

  • prepareTimeoutMs - Maximum time that a service is allowed to initialize a search (in ms).

  • timeoutMs - Maximum time that a service is allowed to execute a search (in ms).

  • showAllTimeoutMs - Maximum time that a service is allowed to display search all results (in ms).

Post deployment, modify timeout properties through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of 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>

22.4.7 Tuning Performance of WSRP Producers

To manage overall resource usage for a WSRP producer, you can tune the Connection Timeout property:

  • Default: 30000 ms

  • Minimum: 5000 ms

  • Maximum: 60000 ms

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of connections.xml:

<wsrpproducerconnection producerName="wc-RichText" wsConnection="wc-RichText-wsconn" timeout="30"/>
                  <wsrpproducerconnection producerName="wc-WSRPTools" wsConnection="wc-WSRPTools-wsconn" timeout="30"/>

22.4.8 Tuning Performance of Oracle PDK-Java Producers

To manage overall resource usage for a Web producer, you can tune the Connection Timeout property:

  • Default: 30000 ms

  • Minimum: 5000 ms

  • Maximum: 60000 ms

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of connections.xml:

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

22.4.9 Tuning Performance of OmniPortlet

To manage overall resource usage for OmniPortlets, you can tune the Connection Timeout property:

  • Default: 30000 ms

  • Minimum: 5000 ms

  • Maximum: 60000 ms

Post deployment, modify the Connection Timeout property through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of connections.xml:

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

22.4.10 Tuning Performance of the Portlet Service

To manage overall resource usage and user response time, you can remove unnecessary locale support, modify portlet timeout and cache size in the adf-config.xml file.

For the Portlet service, 28 supported locales are defined out-of-the-box. You can remove the locales that are unnecessary for your application.

If you must modify these properties, post deployment, you must edit adf-config.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

The following is a sample snippet of 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>60</maximumTimeout>
         <parallelPoolSize>10</parallelPoolSize>
         <parallelQueueSize>20</parallelQueueSize>
         <cacheSettings enabled="true">
           <maxSize>10000000</maxSize>
         </cacheSettings>
      </portletC:adf-portlet-config>

22.4.11 Configuring Portlet Cache Size

You can modify the portlet cache size in the adf-config.xml file. The default portlet cache size is set to 10 MB.

If you must modify these properties, post deployment, you must edit adf-config.xml manually. See See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

The following is a sample snippet of adf-config.xml:

<adf-portlet-config> 
     .... 
      <supportedLocales>
      <cacheSettings enabled="true"> 
    <maxSize>10000000</maxSize>
      </cacheSettings> 
  <adf-portlet-config>

22.4.12 Configuring Portlet Timeout

You can modify the portlet timeout value in the adf-portlet-config element of the adf-config.xml file. Default: 10 seconds, minimum: 0.1 seconds, maximum: 60 seconds.

If you must modify these properties, post deployment, you must edit adf-config.xml manually. See Appendix A.3.2, "Editing Configuration Files Manually" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

The following is a sample snippet of adf-config.xml:

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