Documente Academic
Documente Profesional
Documente Cultură
Fine-Tune Performance of
Enterprise Portal 6.0
Enterprise Portal 6.0
Public
.
Table of Contents
1 Introduction .................................................................................................................................... 2
2 Tuning the Operating System....................................................................................................... 3
2.1 General Requirements .............................................................................................................. 3
2.2 Solaris 8: Tuning TCP/IP Connection Handling ........................................................................ 3
3 Tuning the Java Virtual Machine .................................................................................................. 4
3.1 Related Information on JVM settings ........................................................................................ 4
3.2 Configuring JVM settings for SAP J2EE Engine ....................................................................... 4
3.3 Using JIT Server Compiler ........................................................................................................ 5
3.4 Configuring the Heap Size and Garbage Collection Properties................................................ 5
3.4.1 The JVM Garbage Collection (GC) Mechanism ........................................................... 5
3.4.2 Monitoring Garbage Collection ..................................................................................... 6
3.5 JVM Settings for the SAP J2EE Engine With the Portal ........................................................... 7
4 Configuring SAP J2EE Engine Cluster 6.20.............................................................................. 10
4.1 Thread Manager Settings ........................................................................................................ 12
4.2 Adjusting SAP J2EE Engine Log Files .................................................................................... 12
4.2.1 SAP J2EE Engine system.log and default.trc ............................................................. 12
4.3 Enabling HTTP Compression for SAP J2EE Engine 6.20 ...................................................... 13
4.4 Using the SAP J2EE Engine Monitoring Server...................................................................... 14
5 Tuning the Portal Platform.......................................................................................................... 15
5.1 Adjusting Portal Logging.......................................................................................................... 15
5.2 Turning Off Portal Monitoring ..................................................................................................16
5.2.1 Disable Collecting Monitoring Data............................................................................. 16
5.3 Configuring Yahoo! Settings.................................................................................................... 16
5.4 Optimizing Content Catalog Administration ............................................................................ 17
5.5 Using and Adjusting PCD SQL Tracer logging ...................................................................... 17
5.6 PRT Configuration ................................................................................................................... 17
5.7 Optimizing the Client Framework Script for Portal Pages ....................................................... 18
5.8 Adjust User Management Connection Pooling (LDAP) .......................................................... 18
6 Tuning the System Database...................................................................................................... 20
6.1 Updating Classes12.jar ........................................................................................................... 20
7 Tuning the Browser ..................................................................................................................... 21
7.1 Setting the Browser for Compression...................................................................................... 21
©2003 SAP AG 1
1 Introduction
Fine tuning SAP Enterprise Portal is a continuous process aimed at increasing the performance of
processes in the portal environment.
The goal of this document is to provide tuning guidelines for SAP Enterprise Portal to partners,
consultants, and implementers.
It describes configuration settings, and provides procedures on how to set various parameters for
your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the
browser, and the LDAP directory service, in order to increase the performance of processes in the
clustered portal environment.
Settings are presented as independent configurations, and modifying each configuration separately
leads to an increased performance of processes within an area of the portal.
For maximum increase in performance, it is recommended that you implement all modifications
discussed in this document.
In different environments and systems, you may have different needs and expectations, and
in addition, obtain different results. We highly recommend that you monitor the improvements
achieved after making the configuration changes.
Furthermore, tests to increase the performance of the portal processes are continuously in progress.
Therefore we recommend that you visit our Web site for up-to-date information on tuning guidelines
for SAP Enterprise Portal at:
service.sap.com > SAP Enterprise Portal 6.0 > Documentation & More > How-To Guides
©2003 SAP AG 2
2 Tuning the Operating System
2.1 General Requirements
Thread management changes are highly dependent on operating system (OS) resources. These
changes bring about different results in different machine configurations.
To achieve optimal performance, you must configure each operating system with its required set of
parameters.
For detailed information on how to implement the OS dependencies, refer to SAP Software on UNIX:
OS Dependencies, at the Web site: service.sap.com/netweaver and follow the link SAP NetWeaver
in Detail > Solution Life-Cycle Management > Installation > Installation & Upgrade Guides > SAP
Web Application Server > Release 6.20
Check also SAP Note 492222, SAP Software on UNIX: OS Dependencies, for updated kernel
parameters. You can find the SAP Notes in SAP Service Marketplace (service.sap.com/notes).
©2003 SAP AG 3
3 Tuning the Java Virtual Machine
Java virtual machine (JVM) is a program that makes it possible for Java applications to run on a
platform. It converts machine instruction into specific instructions executable by a real processor for a
specific computer. JVM is based on standards that specify the implementation and deployment of
Java applications for a hardware platform.
This section contains information about JVM parameters and configuration settings for SAP J2EE
Engine 6.20 based on Java development kit (JDK) version 1.3.1.0.9.
The JVM parameters and settings mentioned in this document are based on information from
various sources including SAP Notes and SUN documentation that are applicable to
platforms for Windows and Solaris.
For more information on JVM parameters and settings, see the following Web sites:
©2003 SAP AG 4
• If you are manually running both the server and the dispatcher nodes of the SAP J2EE Engine,
add the settings directly to the file in the path:
<J2EE Engine folder>/cluster/server/go.bat
The installation program for SAP Enterprise Portal 6.0 SP2 automatically configures this JVM
setting for the SAP J2EE Engine server.
©2003 SAP AG 5
Since the garbage collection process is single threaded, no other requests are processed during
the collection cycle. For this reason GC tuning is highly recommended.
You need to monitor GC activity in order to optimize the performance of the Java application. The
following JVM option produces text information to standard output (stdout) about GC activity on the
heap:
• -verbose:gc
Add this option to your JVM settings in order to monitor all GC activities. The following are
examples of the output produced by this JVM option:
Important: Prevent the system from performing full GC cycles, as these take longer and
does not allow the system to respond to other requests.
You can prevent full GC cycles by applying the following:
• Set an initial value for the NewSize and PermSize that is large enough, since any change in their
size during run-time triggers a full GC.
• This is evident during portal startup. If you have not set an initial NewSize or PermSize value,
you will have a series of full GCs that may increase your startup time by ~15 seconds.
• Keep a ratio of 1:3 between the NewSize value and the total heap size.
If the NewSize value is too small, it leads to frequent GC cycles (filling up fast).
If the NewSize value is too large, there is not enough memory for the rest of the heap. A
NewSize larger then half the heap size is counterproductive, as the contents of the NewSize is
moved to the preserved space for older generations after a regular GC cycle.
• Monitor the efficiency of the GC. For detailed information, refer “Soft references policy” in the
table below.
• If you continue to have frequent GC cycles after fine tuning the JVM settings, you must increase
the heap size.
• If you increased the heap size and frequent GC cycles continues to occur, use Java profiling
tools to locate the source of the problem.
©2003 SAP AG 6
3.5 JVM Settings for the SAP J2EE Engine With the Portal
The table below shows the parameters on heap size and garbage collection (GC) to modify in the
JVM configuration files for SAP J2EE Engine server.
Heap Size with When a machine has enough CPU power and memory to host more than one
Multiple VMs server node, add more SAP J2EE Engine server nodes in order to fully
optimize the capacity of the system.
(on the same
host) For information on the portal infrastructure, refer to the guide SAP Enterprise
Portal Technical Infrastructure in the zipped package, EP6.0 SP2 Installation
Guide (Portal, CM, TREX, Unification), at: service.sap.com > SAP Enterprise
Portal 6.0 > Documentation & More > Installation.
©2003 SAP AG 7
Settings Actions and Notes
New Size This parameter configures the size of a “new” generation in the JVM memory
heap.
(server only)
Objects that populate the “new” generation have not gone through a garbage
collection cycle yet. Objects that go through several collections and survive are
moved to the “old” generation, leaving room for newer objects.
The value for a new size is related to the value for the heap size you have
defined.
• For best performance the new size must be a third of the heap size.
©2003 SAP AG 8
Settings Actions and Notes
Soft Reference The portal cache mechanism uses objects that are kept as soft references,
Policy cached objects. These objects are cleared at the discretion of the garbage
collector in response to memory demands.
(server only)
This parameter configures the number of soft references that can stay alive on
the heap. When this value is reduced, the soft references are more
aggressively removed from the heap to make room for new objects.
The default value for this parameter is 1000.
A value higher than the default, makes cache more effective but leaves less
available memory on the heap.
A value less than the default makes the cache less effective but leaves more
memory on the heap.
Do not set the parameter -XX:SoftRefLRUPolicyMSPerMB
Tune this value based on the following:
• The number of objects cached with Soft Reference increases when more
users log-in, since each login caches the user objects.
When more users are logged on to a single SAP J2EE instance, less
memory is available on the heap.
• Monitor the ratio of the memory that is cleared during garbage collection.
You can detect an inefficient collection cycle when less than 50% of the
heap is cleared during a cycle.
When the system is not able to clear enough memory on the heap in a
timely manner, the collections become more frequent and finally lead to
multiple full GCs and an OutOfMemory exception.
If this happens, reduce the value for Soft references to 1, in order to allow
the garbage collector to aggressively remove soft references from the
heap.
Configure this size by adding the following parameter to the JVM configuration
files: -XX:SoftRefLRUPolicyMSPerMB=<XXX>
©2003 SAP AG 9
4 Configuring SAP J2EE Engine Cluster 6.20
This section describes procedures on how to tune SAP J2EE Engine to make sure that the portal
runs in a highly optimized environment. As SAP J2EE Engine is a separate platform on which SAP
Enterprise Portal runs, you must configure it to increase the performance of the processes used by
SAP Enterprise Portal.
For additional information on tuning SAP J2EE Engine 6.20, refer to the document How to Tune SAP
J2EE Engine 6.20 v3.0 available at: service.sap.com/webas > Tools & Demos > How-To Guides.
The portal cluster environment depends on the proper setup and configuration of SAP J2EE Engine.
You can configure properties of SAP J2EE Engine in the SAP J2EE Engine Config Tool window.
To open the SAP J2EE Config Tool window:
• Run the file configtool (config.bat in Windows) in the folder:
/usr/sap/<system name>/j2ee/j2ee_<system number>/configtool.
The settings described in this section are suitable for implementing a portal cluster based on a SAP
J2EE Engine cluster.
There are several ways to setup and configure SAP J2EE Engine cluster for the portal. For
that reason, the SAP J2EE Engine cluster settings can be configured to suit a customer’s
needs.
For information on the portal landscape and cluster infrastructure, refer to the guide SAP Enterprise
Portal Technical Infrastructure in the zipped package, EP6.0 SP2 Installation Guide (Portal, CM,
TREX, Unification), at: service.sap.com > Enterprise Portal 6.0 > Documentation & More >
Installation.
The following properties should be configured on each machine running SAP J2EE Engine:
©2003 SAP AG 10
Property Actions and Notes
RepeatToConnect This property takes a true or false value.
When the value is false the cluster node creates the cluster after failing
to connect to an already running SAP J2EE cluster by contacting all
cluster elements specified in the ClusterHosts property.
When the value is true, it does not create any cluster, but continues its
attempts to connect to the J2EE cluster.
• In the SAP J2EE Engine Config Tool window:
Dispatcher Î managers Î ClusterManager Î
RepeatToConnect resp. Server Î managers Î
ClusterManager Î RepeatToConnect
It is used together with the property ClusterHosts. The two
properties, RepeatToConnect and ClusterHosts, can guarantee
consistent connection and failover recovery of the cluster. This joint
action is effective when starting the cluster; afterwards, the cluster
connectivity is everyone-to-everyone.
LocalLoadBalancing This property takes a true or false value.
When the value is false, SAP J2EE Engine enables the particular
dispatcher to distribute the load (of HTTP requests) on all server nodes
in the cluster.
A value of true limits load balancing to servers running on the same
host.
• In the SAP J2EE Engine Config Tool window, set the value to true:
Dispatcher Î managers Î ServiceManager Î
LocalLoadBalancing
DependentElement This property defines the server node synchronization method of the
DBMS service to be either primary, or non–primary.
This property takes a true or false value.
When the value is false, the synchronization method for the DBMS
service of the particular server node is flagged as primary. This allows
the server node to keep a local copy of the SAP J2EE Engine
deployment database. All other server nodes can either reference the
database without keeping a local copy, or update their local copies of
the database after recovering from a failure.
A value of ‘true’ configures the node to be a dependent DBMS service
node, which reads the deployment database directly from a primary
node.
• In the SAP J2EE Configuration Tool window, set the value of this
property to false in all server nodes:
Server Î managers Î ClusterManager Î DependentElement
©2003 SAP AG 11
4.1 Thread Manager Settings
This section describes the recommended changes to the Thread Manager settings of SAP J2EE
Engine.
The How to Tune SAP J2EE Engine 6.20 v3.0 document recommends that you change the
Thread Manager settings. Refer to the document How to Tune SAP J2EE Engine 6.20 v3.0
available at: service.sap.com/webas > Tools & Demos Î How-To Guides.
Follow the guidelines below when changing the Thread Manager settings for the portal cluster:
• The number of threads that each machine is capable of supporting depends on the amount of
available memory, CPU, and other system resources.
You need to conduct performance tests, to obtain the correct settings for a specific machine,
as the settings in the document, How to Tune SAP J2EE Engine 6.20 v3.0, are not optimized
for every machine.
• The portal itself contains a portal runtime (PRT) setting called loadlimit.requests. This
property controls the maximum number of concurrent requests from the browser to the portal,
at a time.
The value of this property must be the same as the value of the MaxThreadCount property
of the SAP J2EE Engine thread manager. Both are set to 100 by default.
A major performance improvement is achieved by disabling log files, system.log and default.trc.
These files are written to the following directory:
<J2EE Engine location>/cluster/server/services/log
©2003 SAP AG 12
To disable system.log:
1. Edit the saplogging.config file in the following directory:
<J2EE Engine location>/cluster/server/services/log/work/
2. Change the value /System.severity to NONE.
3. Change the value /Applications.severity to NONE
4. Change the line .logs = log[defaultTrace] to .localLogs = log[defaultTrace]
Reducing the application logs output level as described in this section also reduces the output to
the default.trc file.
Monitor the folder <J2EE Engine location>/cluster/server/log/ to make sure that these log files are
not created.
Important: To use this feature with an installation of Enterprise Portal 6.0, you need SAP
J2EE Engine Cluster 6.20 Patch Level 12 or higher, because it supports conditional
compression.
To configure HTTP compression:
Run the file configtool. For more information on how to run the configtool, see the section
“Configuring SAP J2EE Engine Cluster 6.20” on page 10.
The following are the properties to edit in SAP J2EE Engine Config Tool window:
Settings Actions and Notes
HTTP Service • Change the values of the following properties as follows:
Compression
Server Î services Î servlet_jsp Î
EnableZippedResponse = true
Server Î services Î http Î EnableZippedResponse = true
©2003 SAP AG 13
HTTP Service Sets the expiration for the static content in seconds. The default value for this
property is 86,400 seconds, or 24 hours. The recommended value is 604,800
Content Expiration
seconds, or 7 days
• Change the values of the following property:
Server Î services Î httpÎ CacheControl
Server Î services Î httpÎSapCacheControl
For example; CacheControl = 604,800
©2003 SAP AG 14
5 Tuning the Portal Platform
5.1 Adjusting Portal Logging
Various portal applications place information into different log files. We recommend that you set log
levels in production environments to WARNING or ERROR.
To configure the log levels for portal applications, edit the following files within each SAP J2EE
Engine server node and restart the engine.
©2003 SAP AG 15
5.2 Turning Off Portal Monitoring
The portal can connect to the SAP Computing Center Management System (CCMS) data collection
server. If you are not using the CCMS to collect and monitor the portal data, you can disable the
property for it.
To disable the monitor in a production environment:
1. Logon to the portal as an administrator.
2. In the top-level navigation bar, select System Administration > System Configuration.
3. From the Detailed Navigation panel on the left, select Monitoring Configuration.
4. Under JARM, Java Application Responsetime Measurement in the Monitoring Configuration
iView on the right, uncheck the following:
− Collect monitoring data
− Select Save in the iView.
The integration of Yahoo! into SAP Enterprise Portal will be supported for existing customers
who have licensed MYEE content from SAP through the end of their current subscription
terms and no later than December 31, 2004, whichever occurs first.
To open the iView that contains Yahoo properties:
1. Logon to the portal as an administrator.
2. In the top-level navigation bar, select System Administration > System Configuration.
3. From the Detailed Navigation panel on the left, select Service Configuration.
4. In the Portal Catalog, under Browse, select and expand the Java class
com.sap.portal.yahoo > Services, and right click yahoo > Edit.
The following are the settings in the Property List iView that are relevant to performance:
©2003 SAP AG 16
Interval of Status Entry to Log File The default value is 50.
If you are connecting to Yahoo, you may want to increase
this value.
©2003 SAP AG 17
Setting Action and Notes
Async.Response.Pools.size The number of buffers that the Page Builder can use to process
asynchronous rendering of pages.
async.response.pool.size=100
Each buffer is used during the rendering of a portal page. Increasing
this value increases the number of pages to be rendered
asynchronously.
A large value can have significant effect on the system, as it is affected
by available system resources, such as memory.
PRT monitor A useful setting is to enable the PRT monitor. You enable this monitor
to help identify bottlenecks in performance.
In productive environments, we recommend to set
monitor.off=true
To enable the monitor:
• Change the line "monitor.off=true” to “monitor.off=false”.
To view the monitor output:
• Log on to the portal as an administrator, and navigate to:
System Administration Î Monitoring Î Portal Î
Components Overview
System Administration Î Monitoring Î Portal Î
Threads Overview
©2003 SAP AG 18
To change the value of this property:
1. Open and edit the file sapum.properties, from the path:
/usr/sap/<system name>/j2ee/j2ee_<instance number>/ume/.
2. Change the value of the property ume.ldap.connection_pool.max_size.
To support the required number of concurrent logins, the MaxThreadCount property in the
Thread Manager of the SAP J2EE Engine, must be equal to the number of concurrent logins
in the property, loadlimit.requests of the PRT, as one thread equals one concurrent request.
©2003 SAP AG 19
6 Tuning the System Database
Presently, this section contains information on Oracle systems.
©2003 SAP AG 20
7 Tuning the Browser
Configuring the browser and front-end devices for the portal leads to increase performance in the
processes of the portal.
©2003 SAP AG 21
Browser Settings Actions
Netscape 6.x Browser Caching
In Netscape 6.x, you can improve the browser response time by
using the browser cache.
To use the browser cache in Netscape:
1. From the Edit menu, select Preferences.
2. In Category, click Advanced Cache.
3. Under Document in cache is compared to document in
network in the Cache pane, select either Never or Once per
session.
©2003 SAP AG 22
Copyright©
No part of this publication may be reproduced or transmitted in any form or for any purpose without
the express permission of SAP AG. The information contained herein may be changed without prior
notice.
Some software products marketed by SAP AG and its distributors contain proprietary software
components of other software vendors.
Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered
trademarks of
Microsoft Corporation.
IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®,
AS/400®, OS/390®, OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner,
WebSphere®, Netfinity®, Tivoli®, Informix and Informix® Dynamic ServerTM are trademarks of IBM
Corporation in USA and/or other countries.
ORACLE® is a registered trademark of ORACLE Corporation.
UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.
Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®,
MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web
Consortium, Massachusetts Institute of Technology.
JAVA® is a registered trademark of Sun Microsystems, Inc.
JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for
technology invented and implemented by Netscape.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
SAP, SAP Logo, R/2, R/3, mySAP, mySAP.com and other SAP products and services mentioned
herein as well as their respective logos are trademarks or registered trademarks of SAP AG in
Germany and in several other countries all over the world. All other product and service names
mentioned are trademarks of their respective companies.
©2003 SAP AG 23