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

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

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

26 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.

26.1 About Oracle WebCenter

Oracle WebCenter11g 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). Oracle WebCenter 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, 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 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.

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.

26.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.

This section includes the following:

26.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.

26.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>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>

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.

26.2.3 Setting JRockit Virtual Machine (JVM) Arguments

JVM arguments are set in the setDomainEnv.sh file on Unix operating systems and setDomainEnv.cmd on Windows operating systems. The setDomainEnv file is located in the <domain_dir>/bin directory.

  • WebLogic Server production mode: To start the Administration Server in production mode from the command line, include the following parameter in the startup command:

    -Dweblogic.ProductionModeEnabled=true
    

    For information on setting your domain to production mode using the Administration Console, see "Change to production mode" in the Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help.

  • Heap size: If the server is overloaded, that is, garbage is collected or out of memory error occurs frequently, then increase the heap size as appropriate to your server's available physical memory. For more information, see "Set Java options for servers started by Node Manager" in the Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help.

    The following parameters can be entered in the server's startup command or through the Administration Console:

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

26.2.4 Using Content Compression to Reduce Downloads

If clients connect to your server using relatively slow connections, that is, using modems or VPN from remote locations, consider compressing content before it downloads to the client. While content compression increases the load on the server, the client's download experience is much improved.

Several content compression methods are available. The following steps describe how to use the mod_deflate module from Apache.

  1. Enable mod_deflate module on Apache.

    To do this, add the following to httpd.conf ($OH/instances/$INSTANCE_NAME/config/OHS/$OHS_NAME)

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

  2. Setup the Output Filter and specify the rules for compression.

    Here is a sample snippet that you can add to the httpd.conf (same location mentioned above). Modify the content based on your content and the compression requirements.

    <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>
    

For more information about mod_deflate, refer to: http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

26.3 Tuning WebCenter Application Configuration

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

This section includes the following:

26.3.1 Setting HTTP Session Timeout

To manage overall resource usage, adjust the application's http session timeout value, in minutes, in the web.xml file. In general, shorter session timeout values correspond to less memory and CPU usage on the server.

If you must modify this property, post deployment, you must edit web.xml manually. See "Editing web.xml Properties" 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>

26.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 "Editing web.xml Properties" 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>

26.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 "Editing web.xml Properties" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

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

26.3.4 Setting ADF View State Compression

Through this setting, you can control ADF View State Compression. When COMPRESS_VIEW_STATE is set to true, all non-current view states are compressed before saving in memory which reduces the heap usage.

If you must modify this property, post deployment, you must edit web.xml manually. See "Editing web.xml Properties" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter

The following is a sample code snippet of web.xml:

<context-param>
       <param-name> org.apache.myfaces.trinidad.COMPRESS_VIEW_STATE
      </param-name>
       <param-value> true </param-value>
</context-param>

26.3.5 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>

Consider setting the MDS purge thread parameter (as shown in the example below) to remove older versions 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"/>

To ensure the initial purge doesn't impact on going user activities, consider use following wlst command to induce MDS purge immediately before bulk of the user load hit the system:

The following example shows how to purge all documents in application repository whose versions are older them 10 seconds:

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

26.3.6 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.

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"> 
  <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>

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"/>

You can use the Enterprise Manager System MBean Browser to view, add, modify, and delete the concurrency configuration based on your usage pattern. To access the MBean Browser for your WebCenter application, see "Accessing the System MBean Browser" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

  1. In System MBean Browser, navigate to:

    Application Defined MBeans -> oracle.adf.share.config -> Server: (your server name) -> Application: (your application name) ->ADFConfig -> ADFConfig (bean) -> ADFConfig -> WebCenterConcurrentConfiguration -> Operations -> listResources

    Figure 26-1 System MBean Browser - WebCenterConcurrentConfiguration

    MBean Browser - Concurrency settings
  2. To view the current concurrency settings, select listResource, and then click Invoke (Figure 26-2).

    Figure 26-2 System MBean Browser - listResource

    System MBean Browser - listResource
  3. To change a setting, select setResource, enter the resource details, and then click Invoke.

    Take care to enter the correct values for service, resource, name and value.

  4. To save changes, navigate to Application Defined MBeans: ADFConfig:ADFConfig -> save, and click Invoke.

26.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:

26.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>

26.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>

26.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>

26.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>

26.4.5 Tuning Performance of the Personal Events Service

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

  • Default: 10 seconds

  • Minimum: 0 seconds

  • Maximum: 45 seconds

You can also set a cache expiration period:

  • Default: 10 seconds

  • Minimum: 0 seconds

  • Maximum: 45 seconds

Post deployment, modify the Connection Timeout and Cache Expiration properties through Fusion Middleware Control or using WLST. For details, see:

The following is a sample snippet of 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>10</Contents>   </StringRefAddr>   <StringRefAddr addrType="eventservice.cache.expiration.time">    <Contents>10</Contents>   </StringRefAddr>  </RefAddresses></Reference>

26.4.6 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>

26.4.7 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>

26.4.8 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.

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

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

26.5 Tuning Portlet Configuration

This section describes portlet performance-related configuration. This section includes the following sub sections:

26.5.1 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 "Editing adf-config.xml" in the 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>

26.5.2 Enabling Java Object Cache for WSRP Producers

Oracle recommends that you enable the Java Object Cache (JOC) for WSRP producers so that objects written to the persistent store are cached.

The following is a sample snippet of web.xml:

<env-entry> 
<env-entry-name>oracle/portal/wsrp/server/enableJavaObjectCache</env-entry-name>
      <env-entry-type>java.lang.String</env-entry-type>
      <env-entry-value>false</env-entry-value>
   </env-entry>

26.5.3 Suppressing Optimistic Rendering for WSRP Portlets

To suppress the optimistic render of WSRP portlets after a WSRP PerformBlockingInteraction or HandleEvents call, set the Portlet container runtime option (specified in portlet.xml) as follows: com.oracle.portlet.suppressWsrpOptimisticRender=true.

  • true - optimistic render always suppressed

  • false - optimistic render may be performed

Normally, if a WSRP portlet receives a WSRP PerformBlockingInteraction request (processAction in JSR168/JSR286 portlets) and the portlet does not send any events as a result, the WSRP producer renders the portlet and returns the portlet's markup in the response to the PerformBlockingInteraction SOAP message. This markup may be cached by the consumer until the consumer's page renders, and if nothing else affecting the state of the portlet happens (such as the portlet receiving an event), the cached markup can be used by the consumer, eliminating the need for a second SOAP call to GetMarkup.

This assumes that the portlet's render phase is idempotent, which is always a best practice. However, if the portlet expects to receive an event, or rendering the portlet is more costly than a second SOAP message for GetMarkup, the developer may use this container option to suppress the optimistic render of the portlet after a processAction or handleEvent call. The portlet still renders normally when the producer receives the WSRP GetMarkup request

26.5.4 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"/>

26.5.5 Setting ExcludedActionScopeRequestAttributes for Portlets

Set the Portlet container runtime option (specified in portlet.xml) as follows: com.oracle.portlet.excludedActionScopeRequestAttributes.

This is a multi-valued property, where each value is a regular expression. If using the javax.portlet.actionScopedRequestAttributes container runtime option with a portlet, it is possible to optimize which request attributes get stored between portlet lifecycles using the com.oracle.portlet.excludedActionScopeRequestAttributes container runtime option. Any request attributes which are unnecessary to store between lifecycles can be indicated to increase performance.

Default values:

  • javax\.portlet.*

  • oracle\.portlet.*

  • com\.oracle\.portlet.*

26.5.6 Setting DefaultServedResourceRequiresWsrpRewrite for WSRP Portlets

To specify the default WSRP requiresRewrite flag to use when generating Resource URLs for portlet-served resources, set the Portlet container runtime option (specified in portlet.xml) as follows: com.oracle.portlet.defaultServedResourceRequiresWsrpRewrite.

This setting is used for all ResourceURLs created by the portlet, unless overridden by the presence of the oracle.portlet.server.resourceRequiresRewriting request attribute when the ResourceURL methods write() or toString() are called. This setting is also used to specify the WSRP requiresRewriting flag on the served resource response, but can be overridden by the presence of the oracle.portlet.server.resourceRequiresRewriting request attribute when the portlet's serveResource() method returns.

Valid values:

  • unspecified - (Default) The requiresRewrite URL flag is not given a value, and the requiresRewriting response flag for a serveResource operation is based on the MIME type of the response.

  • true - The requiresRewrite URL flag and requiresRewriting response flag is set to true, indicating that the resource should be rewritten by the consumer.

  • false - The requiresRewrite URL flag and requiresRewriting response flag is set to false, indicating that the resource does not necessarily need to be rewritten by the consumer, though the consumer may choose to rewrite the resource.

26.5.7 Setting DefaultProxiedResourceRequiresWsrpRewrite for WSRP Portlets

To specify the default WSRP requiresRewrite flag to use when encoding URLs for resources not served by the portlet, set the Portlet container runtime option (specified in portlet.xml) as follows: com.oracle.portlet.defaultProxiedResourceRequiresWsrpRewrite.

This setting is used for all URLs returned by the PortletResponse.encodeURL() method, unless overridden by the presence of the oracle.portlet.server.resourceRequiresRewriting request attribute when the PortletResponse.encodeURL() method is called.

Valid values:

  • true - (Default) The requiresRewrite URL flag is set to true, indicating that the resource should be rewritten by the consumer.

  • false - The requiresRewrite URL flag is set to false, indicating that the resource does not necessarily need to be rewritten by the consumer.

26.5.8 Importing Consumer CSS Files in IFrame Portlets

To specify to a portal consumer that the CSS file is imported to an IFramed portlet, set the Portlet container runtime option (specified in portlet.xml) as follows: com.oracle.portlet.importCssToIFrame.

Valid values:

  • true - The CSS file from the consumer is applied to an IFramed portlet.

  • false - (Default) Nothing is done.

26.5.9 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 "Editing adf-config.xml" in the 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>

26.5.10 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"/>