Webcenter Application Performance Tuning guide

Similar documents
Oracle WebCenter Portal Performance Tuning

Installing on WebLogic Server

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

White Paper. Major Performance Tuning Considerations for Weblogic Server

Configuring Weblogic Server 12c Oracle FLEXCUBE Universal Banking Release [December] [2016]

WebLogic JMS System Best Practices Daniel Joray Trivadis AG Bern

Diplomado Certificación

BEAAquaLogic. Service Bus. MQ Transport User Guide

Oracle JRockit. Performance Tuning Guide Release R28 E

Oracle WebLogic Server 11g: Administration Essentials

BEAAquaLogic. Service Bus. Native MQ Transport User Guide

Tuning Performance of Oracle WebLogic Server 12c (12.2.1)

WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues. By: Abhay Kumar AST Corporation

OS-caused Long JVM Pauses - Deep Dive and Solutions

J2EE Performance Tuning. Jayesh Patel Northern Virginia Java/BEA User Group January 11 th, 2005.

Oracle SOA Suite/BPM Suite VirtualBox Appliance. Introduction and Readme

Contents at a Glance. vii

Oracle Enterprise Manager. 1 Before You Install. System Monitoring Plug-in for Oracle Unified Directory User's Guide Release 1.0

SPECjAppServer2002 Statistics. Methodology. Agenda. Tuning Philosophy. More Hardware Tuning. Hardware Tuning.

B. Pack -domain=c:\oracle\user_projects\domains\mydomain.jar -template=c:\oracle\userj:emplates\mydomain -template_name=nmy WebLogic Domain"

Oracle WebLogic Server 12c: Administration I

JVM Memory Model and GC

JBoss Performance Tuning. Bill Meyer JBoss Sr. Solutions Architect

Deploying Fusion Middleware in a 100% Virtual Environment Using OVM

Configuring Weblogic Server Oracle FLEXCUBE Universal Banking Release [September] [2013] Part No. E

Question No: 1 In which file should customization classes be specified in the cust-config section (under mds-config)?

Performance Optimization for Informatica Data Services ( Hotfix 3)

Oracle Fusion Middleware

Oracle Database 10g GeoRaster: Scalability and Performance Analysis. An Oracle Technical White Paper August 2005

Overview of the Performance and Sizing Guide

ORACLG. Oracle Press. Advanced Tuning for. JD Edwards EnterpriseOne. Implementations

<Insert Picture Here> Application Grid: Oracle s Vision for Next-Generation Application Servers and Foundation Infrastructure

Oracle WebLogic Server

Oracle WebLogic Diagnostics and Troubleshooting

Workload Control Center Performance Tuning

CO Oracle WebLogic Server 12c. Administration II. Summary. Introduction. Prerequisites. Target Audience. Course Content.

Contract Information Management System (CIMS) Technical System Architecture

Performance Tuning ScrumWorks Pro Server

1Z Oracle Weblogic Server 11g: System Administration I

Lesson 2 Dissecting Memory Problems

Contents Configuring P Creating the WebLogic Environment for P6... 7

Maximum Availability Architecture

Application Navigator Ver4.2

Java Without the Jitter

Oracle Fusion Middleware

IBM WebSphere Application Server V4.0. Performance. 10/02/01 Copyright 2001 IBM Corporation WS40ST11.prz Page 248 of of 28

Central Administration Console Installation and User's Guide

... IBM AIX performance and tuning tips for Oracle s JD Edwards EnterpriseOne web server

BEA WebLogic. JRockit 7.0 SDK. User Guide

X100 ARCHITECTURE REFERENCES:

TUNNING THE FUEGO 5.5 STANDALONE ENGINE. Pablo Victory

Chapter. Installing WebLogic Server and Using the Management Tools

GlassFish v2.1 & Enterprise Manager. Alexis Moussine-Pouchkine Sun Microsystems

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

Java Performance Tuning From A Garbage Collection Perspective. Nagendra Nagarajayya MDE

What every DBA needs to know about JDBC connection pools Bridging the language barrier between DBA and Middleware Administrators


<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs

Real-time Session Performance

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003

Introduction. Architecture Overview

Masterclass: WebLogic Server for OAS Administrators

Java Garbage Collection Best Practices For Tuning GC

Using Patrol for BEA WebLogic to Accelerate the Value of WebLogic Server (WLS) Tuning Primary Tuning Considerations Execute Queues

Runtime Application Self-Protection (RASP) Performance Metrics

Administering WebLogic Server on Java Cloud Service I Ed 1 Coming Soon

Course: JBoss Training: JBoss AS 7 and JBoss EAP 6 Administration and Clustering Training

Top Ten Enterprise Java performance problems. Vincent Partington Xebia

Generational Garbage Collection Theory and Best Practices

Java Performance: The Definitive Guide

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

Oracle Tuxedo System and Application Monitor (TSAM)

Data Management in Application Servers. Dean Jacobs BEA Systems

C

Sync Services. Server Planning Guide. On-Premises

IBM Tivoli Netcool/Impact 7.1 Sizing and Tuning Guide

Oracle Fusion Middleware: Performance & Diagnostics solutions on WebLogic

IBM SmartCloud Application Performance Management UI Version User's Guide IBM SC

1Z Oracle Application Grid 11g Essentials Exam Summary Syllabus Questions

Sync Services. Server Planning Guide. On-Premises

Oracle WebCenter Portal Jump Start Kit (JSK) Readme for Linux 64-bit Operating Systems

Installing and configuring Apache Kafka

Oracle Communications Order and Service Management

Tuning the Hive Engine for Big Data Management

Just Get it Written: Deploying Applications to WebLogic Server Using JDeveloper and WLS Console. Don t get it right, just get it written.

Websphere Server 8.5 Best Practices Oracle FLEXCUBE Universal Banking Release [December] [2016]

Deployment Scenario: WebSphere Portal Mashup integration and page builder

PowerCenter 7 Architecture and Performance Tuning

Inside the Garbage Collector

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc.

Virtualizing JBoss Enterprise Middleware with Azul

Optimizing the Data Integration Service to Process Concurrent Web Services

Oracle Message Broker

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express

Java in Virtual Machines on VMware ESX: Best Practices

Designing experiments Performing experiments in Java Intel s Manycore Testing Lab

IBM Cognos ReportNet and the Java Heap

Contents About This Guide... 5 Architecture Overview... 5 Performance and Scalability Considerations... 7 Deployment Considerations...

DEPLOYMENT GUIDE Version 1.0. Deploying F5 with Oracle Fusion Middleware WebCenter 11gR1

Performance Tuning and Sizing Guidelines for Informatica Big Data Management

Transcription:

Webcenter Application Performance Tuning guide Abstract This paper describe generic tuning guideline for webcenter portal, Webcenter content, JRockit, Database and Weblogic server Vinay Kumar 18-03-2014

Table of Contents Introduction... 1 Part 1: Tuning the Database... 2 Part 2: Tuning the JVM ( JRockit )... 4 Part 3: Tuning WebLogic Server (WLS)... 5 Part 4: Tuning Webcenter Servers... 7 Tuning Webcenter Content (UCM)... 7 Tuning Webcenter Portal (Spaces)... 9 Appendix... 10 Introduction

This document describes basic performance concepts, how to measure performance, and designing applications for performance and scalability.this will be useful for application built on Fusion Middleware i.e. Webcenter Portal, Webcenter Spaces. This tips and guide will be helpful in tuning the Webcenter applications. Use case is like, we are using webcenter portal 11.1.1.8 and Wecenter content. Following guideline will used to optimize the portal application. Application using Webcenter Portal and Webcenter content in backend. We are using Oracle Database 11g R2. Part 1: Tuning the Database

The first of tuning the Platform is to tune the database appropriately to enhance the performance. The following 5 steps can be used for tuning the database. MDS Cache: MDS cache grows in size as metadata objects are accessed until it hits max-sizekb. After that, objects are removed from the cache to make room as needed on a least recently used (LRU) basis to make room for new objects. Unless time-to-live (TTL) is set, the MDS cache continues to occupy the max-size-kb of memory. This can be tuned by increasing the size of Buffer cache. o SQL> DB_CACHE_SIZE=16 MB Shared Pool Size: Need to increase for improving the performance if the application uses stored procedures and functions by setting memory_target. Also set the minimum value of shared pool to 500MB which can grow and reduce based on demand. o SQL> alter system set shared_pool_size=500mb Maximum Opened cursor: For using JDBC statement caching. Set the value to 1500. Shared Global Area (SGA): Set the SGA to 700 MB. o SQL> alter system set SGA_TARGET=700MB scope=spfile

Part 2: Tuning the JVM ( JRockit ) As all the java processes are spun and maintained by the JVM, it needs to be tuned properly in order to get the desired performance. The tuning can be done in terms of heap size allocated to different JVM processes, Garbage collection and other run-time parameters. Tuning the Garbage Collection: Set the dynamic Garbage Collection mode to Throughput Mode. Also we can reduce the memory fragmentation by selecting this GC mode.use - XgcPrio:throughput as the command line reference for JVM. Setting the Heap Size on 64-bit Systems: The heap allocation is a vital area which needs to be carrefully tuned to increase the performance. As in demo environments, at most 1 or 2 users will be using the systems, the memory allocation should be efficient, e.g. allocate the minimum memory required for the application during startup and allow it to grow dynamically. Also the heap size should be set such that the used heap is 50% of the maximum allocated heap. Ex: Set -Xms=512 MB (for UCM and WC_Spaces) and -Xmx=1024 (for WC_Spaces) and - Xmx=1536 (for UCM) in setdsscustomdomainenv.sh for USER_MEM_ARGS Setting the Nursery Size: Set -Xns=128m to increase the nursery size. This reduces the chances of very frequent Garbage collections and long pause times. It is set to optimal value by default when the GC mode is selected as throughput. Tuning Start Up Time: Add the argument -Djava.security.egd=file:/dev/../dev/urandom to increase the startup time by restricting the OS from random number generation and instead using a pseudo random number. Never use this option on an actual production environment Disabling Explicit Garbage Collection: Add the argument XxnoSystemGC to avoid the applications calling the system.gc() method which results in a performance degradation.

Part 3: Tuning WebLogic Server (WLS) As the Applications are built and hosted on the WebLogic application server, the tuning of the WLS is an essential part of the tuning process of the demos. Stuck thread corrective action: o Set Max Stuck Thread Time to 600 sec. o Set Stuck Thread Count to 3 o Set Failure Action to Suspend this server for corrective action o Set the Auto killed and Auto restart to true at <server> configuration health monitoring set restart interval at 7200 and max restart times to 2. Set On-Demand deployment of WebLogic internal components instead of start-up. There are many internal applications that are deployed during start-up. These internal applications consume memory and require CPU time during deployment. This contributes to the WebLogic. Server start-up time and base memory footprint. Since many of these internal applications are not needed by every user, WebLogic Server has been modified to wait and deploy these applications on the first access (on-demand) instead of always deploying them during server start-up. This reduces start-up time and memory footprint. On the Configuration: General page for each domain, you can specify whether to deploy internal applications such as the administration Console, UDDI, and the UDDI Explorer on demand (upon first access) instead of during server start-up. Use minimum logging and disable the HTTP and stdout logging. Reduce the logging volume by changing the log level to warning/debug/error. Switched off domain broadcaster logs. JMS and JDBC logging has been disabled. Access logs are also disabled. Tuning Network I/O for WebLogic: o Reduce the Connection Backlog Buffering by reducing Accept Backlog Values to 50 from 300 so as to drop the backlogs on TCP requests because in Demo, not many TCP requests will be incoming. Environment Servers Configuration Tuning Accept Backlog=50 o Enable Java I/O. If the Enable Native IO parameter is not selected, the server instance exclusively uses the Java muxer. This may be acceptable if there are a small number of clients and the rate at which requests arrive at the server is fairly high. Under these conditions, the Java muxer performs as well as a native muxer and eliminate Java Native Interface (JNI) overhead. Since in demo environment, the numbers of clients are limited, enabling Java I/O can increase performance. Uncheck Server Configuration Tuning enable native I/O Tuning JDBC: o Turn off the property test connections on reserve. o Set the initial connection pool size to 5.

o Increased statement cached size to 20 from 10. o For the datasources (used by independent managed servers), enable pinned to thread services. Use Pipelining and parallel processing in DBMS applications. DBMS are designed to work best when very busy with lots of different things to do. The worst way to use a DBMS is as dumb file storage for one big single-threaded application. If you can design your application and data to support lots of parallel processes working on easily distinguished subsets of the work, your application will be much faster. Tuning File Stores: o Use Direct-Write synchronous write policy. It performs better than cache-flush write policy. o The Disabled write-policy option can dramatically improve performance, especially at low client loads. However, it is unsafe because writes become asynchronous and data can be lost in the event of Operating System or power failure. Tuning JMS: o o Paging Out Messages to free up memory. JMS servers automatically attempt to free up virtual memory during peak message load periods. JMS message paging saves memory for persistent messages, as even persistent messages cache their data in memory. Specifying a Message Paging Directory: If a paging directory is not specified, then paged-out message bodies are written to the default \tmp directory inside the servername subdirectory of a domain s root directory. For example, if no directory name is specified for the default paging directory, it defaults to: bea_home\user_projects\domains\domainname\servers\servername\tmp where domainname is the root directory of your domain, typically c:\bea\user_projects\domains\domainname, which is parallel to the directory in which WebLogic Server program files are stored, typically c:\bea\wlserver_10.3. o Tuning the Message Buffer Size Option: The Message Buffer Size option specifies the amount of memory that will be used to store message bodies in memory before they are paged out to disk. The default value of Message Buffer Size is approximately one-third of the maximum heap size for the JVM, or a maximum of 512 megabytes. The larger this parameter is set, the more memory JMS will consume when many messages are waiting on queues or topics. Reduced it to 100MB (approx.)

Part 4: Tuning Webcenter Servers In this chapter we will discuss on the tuning of both Webcenter Content (aka UCM) and Webcenter Portal (aka Spaces) servers. Tuning Webcenter Content (UCM) 1. Setting JRockit Virtual Machine (JVM) Arguments. JVM arguments are set in the setdomainenv.sh file. 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: -Xms512M -Xmx1536M -Xns512M 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 (already set in Base Platform) 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. -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. 2. Setting System Limit -Djbo.debugoutput=silent To run a WebCenter application at moderate load, set the open-files-limit to 2048. 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 4096 (default is 1024)

3. Setting HTTP Session Timeout To manage over resource usage, adjust the session timeout value, in minutes, in the web.xml file manually. The following is a sample snippet of web.xml: <session-config> <session-timeout> 45 </session-timeout> </session-config>

Tuning Webcenter Portal (Spaces) In addition to above tunings, follow the below steps for tuning Webcenter Spaces. 1. Tuning Portlet Service - For the Portlets service, 28 supported locales are defined out-of-the-box. Remove the locales that are unnecessary for the application. If these properties are modified, then post deployment, the adfconfig.xml must be edited manually. 2. Configure Portlet cache size Change the following parameter in adf-config.xml manually <adf-portlet-config> <supportedlocales> <cachesettings enabled="true"> <maxsize>10000000</maxsize> {default value} </cachesettings> <adf-portlet-config> 3. Configure portlet timeout 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.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>

Appendix Related Reading and References Oracle Documentation http://www.oracle.com/technology/documentation/index.html Oracle Fusion Middleware Administrator's Guide http://www.oracle.com/technology/documentation/middleware.html Oracle Fusion Middleware Administrator's Guide for Oracle Webcenter http://www.oracle.com/technology/documentation/database.html Oracle Database Performance Tuning Guide Oracle Database Administrator's Guide http://www.oracle.com/technetwork/middleware/weblogic/documentation/index.html Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server http://download.oracle.com/docs/cd/e21764_01/core.1111/e10108/toc.htm Oracle JRockit Java Virtual Machine (JVM) "Welcome to Oracle JRockit" at http://download.oracle.com/docs/cd/e13150_01/jrockit_jvm/jrockit/webdocs/index.html "First Steps for Tuning the Oracle JRockit JVM " at http://download.oracle.com/docs/cd/e13150_01/jrockit_jvm/jrockit/geninfo/diagnos/bestpractices.html "Tuning the Memory Management System" at http://download.oracle.com/docs/cd/e13150_01/jrockit_jvm/jrockit/geninfo/diagnos/memman.html#wp1087125 "About Profiling and Performance Tuning" at http://download.oracle.com/docs/cd/e13150_01/jrockit_jvm/jrockit/geninfo/diagnos/about_prof_perftune.html