24
How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 January 2004 .

How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

How to…

Fine-Tune Performance of Enterprise Portal 6.0

Enterprise Portal 6.0 Public

Applicable Releases: EP 6.0 SP2 January 2004

.

Page 2: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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

Page 3: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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

Page 4: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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

2.2 Solaris 8: Tuning TCP/IP Connection Handling You may need to enhance performance of your Solaris operating system by tuning how TCP/IP requests are handled, although Solaris demands minimal tuning.

For additional information on TCP/IP parameters that apply to Solaris 8, refer to the topic “TCP/IP Tunable Parameters” in “Solaris Tunable Parameters Reference Manual,” at: docs.sun.com/db/doc/816-0607 When handling a large number of TCP/IP requests, Solaris opens connections for all the requests. When the opened connections are no longer used by browsers and Web servers, they are still opened.

You must trace the number of connections and modify the settings for them.

To trace and modify the number of TCP connections: 1. At the command line, type following the commands:

• netstat

• ndd –get /dev/tcp tcp_conn_hash

If the number of TCP connections is still very high, for example greater than 5,000, then modify the /etc/system file, by setting the following parameters:

2. Set the table size to 32K entries (default is 512k)

− set tcp:tcp_conn_hash_size=32768

3. Set the "wait interval" to 60 seconds, the minimum value. This value is also applicable to Solaris 9.

− set tcp:tcp_time_wait_interval=60000

©2003 SAP AG 3

Page 5: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

3.1 Related Information on JVM settings You can get updates about JVM settings discussed in this guide using the SAP Note number 696410, which is the central note for Java VM settings for EP6 on J2EE 6.20.

Make sure that you read each SAP Note, as these provide the most up-to-date information. You can find the SAP Notes in SAP Service Marketplace (service.sap.com/notes).

Title SAP Note Number

Java HotSpot VM Memory Parameters 552 522

Central Note for Memory Issues, SAP J2EE Engine 6.20 634 689

J2EE crashes with OutOfMemory on SUN JDK 597 187

Obtaining Memory Profiling Information 610 134

AIX, HP, Solaris 667841

SAP J2EE Engine 6.20 on AIX: how to increase the heap size 667711

For more information on JVM parameters and settings, see the following Web sites:

Java HotSpot VM Options java.sun.com/docs/hotspot/VMOptions.html

How to Tune Garbage Collection on JVM 1.3.1 java.sun.com/docs/hotspot/gc/index.html

Big Heaps and Intimate Shared Memory (ISM) java.sun.com/docs/hotspot/ism.html

3.2 Configuring JVM settings for SAP J2EE Engine Modify the JVM command line settings for SAP J2EE Engine under the following conditions:

• If you are using the Startup Framework, add the settings in the SAP J2EE Engine Config Tool window.

To open the SAP J2EE Engine Config Tool: − Run the file configtool (config.bat in Windows) in the SAP J2EE Engine configuration folder

at: /usr/sap/<system name>/j2ee/j2ee_<system number>/configtool

• If you are manually running the dispatcher node which automatically starts the server node via its R3Startup service, add the settings to the file in the path of the respective server: <J2EE Engine folder>/cluster/server/cmdline.properties

©2003 SAP AG 4

Page 6: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

• 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

3.3 Using JIT Server Compiler Use the server JIT compiler instead of the client virtual machine (VM). This VM setting has several performance improvements.

• Add the following parameter at the beginning of the command line in the JVM configuration files:

–server

The installation program for SAP Enterprise Portal 6.0 SP2 automatically configures this JVM setting for the SAP J2EE Engine server.

3.4 Configuring the Heap Size and Garbage Collection Properties The performance of Java programs can be affected by the size and growth of the heap size, which is an area of the main storage (memory) preserved for use by Java program processes which store variable amount of data that is not known prior to running the program.

For example, a program can accept and process all the different input from one or more users at once. With a certain amount of heap storage already obtained from the operating system, it is easier and faster for the processes to manage storage than to ask the operating system for storage each time it is needed.

The process manages its allocated heap when needed, returns and reorganizes available spaces that are no longer needed in order to avoid waste; a process referred to as "garbage collecting".

There are parameters with which you modify the heap size for Java program processes, minimum (ms) and maximum (mx). Both the starting size of the heap (ms) and the maximum have significant impact on the performance of Java applications.

3.4.1 The JVM Garbage Collection (GC) Mechanism

Java programs use a memory management mechanism called “garbage collection”.

This mechanism is responsible for marking and deleting objects that are no longer in use. During a collection cycle, objects that are no longer referenced are marked for deletion, deleted and the space that they occupied is returned to the heap.

Garbage collection is a process that is constantly active at run-time of a Java program, sharing the same resources, such as CPU time, and address space. As such, it has significant influence on the performance of the Java program.

JVM has two types of GC cycles:

• Regular GC (small GC)

Queries only newly created objects before clearing those without references. This is performed frequently and has a relatively short duration (~0.2 seconds).

• Full GC

Queries all the objects in the heap before clearing those without references. Full GC is less frequent, and can be very time consuming, between 3 - 5 seconds per cycle. On very large heaps (>1.5G) a full GC cycle can take more then 10 seconds.

©2003 SAP AG 5

Page 7: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

3.4.2 Monitoring Garbage Collection

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:

• For a regular GC cycle: [GC 325816K->83372K(776768K), 0.2454258 secs]

• For a full GC cycle: [Full GC 267628K->83769K(776768K), 1.8479984 secs]

From the example, both lines indicate the amount of memory before and after the collection, showing the efficiency of the GC, and the duration of the collection.

During high activity of the system (or during a load test) monitor the frequency and duration of the GC cycles.

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

Page 8: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

Settings Actions and Notes

Heap Size (Server only)

The heap size used by the Java virtual machine is a function of the number of running and cached objects an application needs to use, and the available amount of memory to the machine.

• SAP Enterprise Portal 6.0 (server node) requires a minimum heap size of 512MB.

• In production environments, the recommended heap size is 1.5GB, and above.

Make sure that the following properties have the same heap size value. If these have not been defined, add them to the JVM configuration files:

-Xms<HEAP SIZE> -Xmx<HEAP SIZE>

For example: -Xms1536M

The maximum heap size that should be configured on 32 bit UNIX, or NT systems is 1.5GB. In 64 bit UNIX systems, the maximum value is around 3GB.

The installation program for SAP Enterprise Portal 6.0 SP2, automatically configures this JVM setting according to the heap size specified during the installation process.

Heap Size (Dispatcher)

The heap size for the dispatcher should be set to

-Xms64M Increasing dispatcher’s heap size does not increase the performance of it.

Heap Size with Multiple VMs

(on the same host)

When a machine has enough CPU power and memory to host more than one server node, add more SAP J2EE Engine server nodes in order to fully optimize the capacity of the system.

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

Page 9: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

Settings Actions and Notes

New Size

(server only)

This parameter configures the size of a “new” generation in the JVM memory heap.

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.

The installation program for SAP Enterprise Portal 6.0 SP2, automatically configures this JVM setting for the SAP J2EE Engine server.

Perm Size (server only)

This parameter configures the size of the “permanent” memory space that is allocated outside the JVM memory heap.

Objects in this memory space never go through the garbage collection cycle, as the space is used during JSP compilation.

Portal applications, such as Content Management (CM), need a large number of “permanent” objects in memory at runtime.

• The recommended initial Perm Size is 128MB.

Configure the perm size by adding the following parameters to the JVM configuration files:

-XX:PermSize=<PERM SIZE> For example: -XX:PermSize=128M

The installation program for SAP Enterprise Portal 6.0 SP2, automatically configures this JVM setting for the SAP J2EE Engine server.

Disable explicit garbage collection

(server only)

Explicit calls invoking the garbage collector should be disabled in a production environment. However, on tests systems, this functionality may be required by external Java profilers.

Do not set VM Parameter –XX:+DisableExplicitGC If you want to disable Explicit GC, add the following parameter to the JVM configuration files:

-XX:+DisableExplicitGC

The installation program for SAP Enterprise Portal 6.0 SP2, automatically configures this JVM setting for the SAP J2EE Engine server.

©2003 SAP AG 8

Page 10: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

Settings Actions and Notes

Soft Reference Policy

(server only)

The portal cache mechanism uses objects that are kept as soft references, cached objects. These objects are cleared at the discretion of the garbage collector in response to memory demands.

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>

This JVM setting is not configured automatically by the installation program.

©2003 SAP AG 9

Page 11: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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:

Property Actions and Notes

ClusterHosts Defines a list of other cluster elements (dispatchers or servers), that should be contacted by the element when it starts. The entries in this list are processed one after another in the specified order. To modify the list of clusters: 1. In the SAP J2EE Engine Config Tool window, open:

Dispatcher managers ClusterManager ClusterHosts resp. Server managers ClusterManager ClusterHosts

− Dispatcher ClusterHosts settings: This line should contain The Join Ports of all server nodes residing on the same host. The Join Port of all other dispatcher nodes, residing on other

hosts − Server ClusterHosts settings:

This line should contain o The Join Port of the dipatcher on the same machine.

During installation, only a newly installed server is configured according. Already existing cluster elements are not updated during the Installation, and must therefore be manually configureds.

©2003 SAP AG 10

Page 12: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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

Page 13: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

4.2 Adjusting SAP J2EE Engine Log Files Log files enable you to track possible unstable conditions of the portal during development and testing stages. An out-of-the-box portal installation has various log files containing portal runtime information.

In a production environment, these log files occupy portal resources, and can have an effect on the overall performance of the portal. Therefore, we recommend that you re-configure the log settings to a level, which only logs errors or warnings.

To change SAP J2EE Engine log levels: 1. Run the file configtool (configtool.bat in Windows) in the SAP J2EE Engine folder at:

/usr/sap/<system name>/j2ee/j2ee_<system number>/configtool. In the SAP J2EE Engine Config Tool window, change the following parameters:

• Dispatcher managers LogManager LogLevel = 3

• Server managers LogManager LogLevel = 3

• Server services http EnableLoging = false

• Server services PRTBridge EnableLoging = false

2. From the File menu, select Apply to save changes.

4.2.1 SAP J2EE Engine system.log and default.trc

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

Page 14: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

4.3 Enabling HTTP Compression for SAP J2EE Engine 6.20 The SAP J2EE Engine contains an HTTP compression feature that improves performance by reducing network traffic.

• Use this feature to disable compression for portal pages that need to work without compression.

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 Compression

• Change the values of the following properties as follows: Server services servlet_jsp EnableZippedResponse = true

Server services http EnableZippedResponse = true

• Change the values of the following property: Server services http NotZippedFiles

To enable script files compression, remove the CSS and JS reference from this line: NotZippedFiles = .zip, .cs, .rar, .arj, .z, .gz, .tar, .lzh, .cab, .hqx, .ace, .jar, .ear, .war, .css, .pdf, .js

Change maximum length to 1024 MinimumGZipLength = 1024

Servlet_jsp Service Compression

• Change the values of the following property: Server services servlet_jsp

• Change maximum length to 1024, MinimumGZipLength = 1024

©2003 SAP AG 13

Page 15: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

HTTP Service

Content Expiration

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 seconds, or 7 days

• Change the values of the following property: Server services http CacheControl

Server services http SapCacheControl

For example; CacheControl = 604,800

4.4 Using the SAP J2EE Engine Monitoring Server SAP J2EE Engine contains a monitor server that provides valuable information of the state of the system at runtime. We recommend that you use this monitoring tool during fine tuning tests.

For detailed information on how to run the monitor server, refer to the SAP J2EE Engine administration guide, installed with SAP J2EE Engine in the path: <J2EE_installation_folder>\j2ee\j2ee_<instance_number>\docs\index.html

©2003 SAP AG 14

Page 16: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

File Action and Notes

Logger.xml

Portal applications are configured according to the logger.xml configuration file.

Edit the logger.xml file by searching for the property isActive, and replacing its value in each of the following directories, as follows:

isActive change it to isActive=”true” and level=”WARNING” or “SEVERE”

• <J2EE Engine location> /cluster/server/services/servlet_jsp/work/jspTemp/irj/root/ WEB-INF/portal/system/xml/logger.xml

• <J2EE Engine location> /cluster/server/services/servlet_jsp/work/jspTemp/irj/root/ WEB-INF/portal/portalapps/com.sap.portal.runtime.admin.logadmin/ logger/ logger.xml

• <J2EE Engine location> /cluster/server/services/servlet_jsp/work/jspTemp/irj/root/ WEB-INF/portal/portalapps/com.sap.portal.runtime.application.soap/logger/ logger.xml

©2003 SAP AG 15

Page 17: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

5.2 Turning Off Portal Monitoring

5.2.1 Disable Collecting Monitoring Data

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.

5.3 Configuring Yahoo! Settings If your portal works with content from Yahoo!, it is important to configure the Yahoo! settings to avoid unnecessary requests.

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:

Settings Actions and Notes

Enable Connectivity to Yahoo! Takes true or false.

Set it to false if you do not want connections to Yahoo.

Enable Persistent Heartbeat Pulses to Yahoo!

Takes true or false.

Set it to false if you do not want connections to Yahoo.

Heartbeat Interval (in seconds) The default value is 120.

If you are connecting to Yahoo, you may want to increase this value.

Heartbeat Time-out (in seconds) The default value is three.

If you are connecting to Yahoo, you may want to increase this value.

©2003 SAP AG 16

Page 18: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

5.4 Optimizing Portal Catalog Administration For administration tasks in the Portal Catalog, it is recommended that you organize the content in a folder taxonomy.

Placing many objects in a single folder increases the time it takes for that folder to load. The recommendation is that do place more than fifty (50) objects in a single folder.

5.5 Using and Adjusting PCD SQL Tracer logging You can view and analyze PCD data using the PCD SQL Tracer. The PCD SQL Tracer utility provides the following information:

• Executed SQL statements

• Frequency of an SQL statement execution.

• Number of connections in the internal connection pool

By default the SQL trace is switched off. You can switch it on and off by setting the property Pcd.Pl.TraceLevel.Sql in the pcdStartup.installer.properties file, in the folder: <J2EE installation folder>/global/config/pcd To switch the SQL trace on or off:

• Set the property Pcd.Pl.TraceLevel.Sql to 3 if you want to trace the SQL information to the pcd.log file.

• Set the property Pcd.Pl.TraceLevel.Sql to 1 if you want to show the SQL trace information in the console in addition to saving it to the pcd.log file.

You can modify the configuration parameters of the PCD at runtime, as follows:

• Start the component com.sap.portal.pcd.admintools.configuration.

• Modify the configuration parameters in the pcdStartup.template.properties file.

• Select the Reload button.

5.6 PRT Configuration The file prtDefault.properties contains various properties that can be configured for the PRT. You can find the file in the folder: <J2EE installation>/cluster/server/services/servlet_jsp/ work/jspTemp /irj/root/WEB-INF/portal/system/properties The following table shows the properties in the file prtDefault.properties, to configure for the PRT:

Setting Action and Notes loadlimit.requests This property defines a limit for concurrent threads opened by the PRT.

The value must reflect the expected number of concurrent users, as a concurrent user consumes one thread: loadlimit.requests=100 In addition, the value of the property, in the file prtDefault.properties must be the same as the value of the property MaxThreadCount of the SAP J2EE Engine thread manager.

©2003 SAP AG 17

Page 19: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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

5.7 Optimizing the Client Framework Script for Portal Pages The Client Framework include JavaScripts installed out-of-the-box with SAP Enterprise Portal. In a production environment, you can change the configuration settings for the JavaScripts that are delivered from the server to clients.

Change the configuration settings for the JavaScripts using the scriptset property. This property defines the type of display for the JavaScript, so that based on the defined level for the Client Framework, the suitable JavaScript Include is automatically integrated in each portal page.

The default configuration sets the Client Framework to contain comments and formats that are easy to read. Changing the default to Optimize, eliminates comments and unnecessary spaces that will be displayed.

For additional information on how to configure the Client Framework, go to the SAP Help Portal at help.sap.com > SAP NetWeaver > SAP Enterprise Portal 6.0 SP2 > Administration Guide > Portal Platform > Content Administration > iViews > Client Framework for Administrators > Configuration

5.8 Adjust User Management Connection Pooling (LDAP) SAP Enterprise Portal 6.0 uses an LDAP connection pool to recycle calls made to the directory. The default connection pool property, ume.ldap.connection_pool.max_size, has a value, ume.ldap.connection_pool.max_size = 10, that enables 50 concurrent logins.

When you change the value of the property to ume.ldap.connection_pool.max_size = 20, you enable 100 concurrent logins.

©2003 SAP AG 18

Page 20: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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

Page 21: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

6 Tuning the System Database Presently, this section contains information on Oracle systems.

6.1 Updating Classes12.jar Classes12.jar contains the connectivity library for Oracle systems, and it must be updated to a specific version.

You can locate the file, Classes12.jar in the following folder: <J2EE installation>/server/additonal-lib/com/sap/jdbc_driver_references

Do the following:

• Check the timestamp of the MANIFEST.MF file inside the classes12.jar file, by running the following command:

>unzip -l classes12.jar | grep MANIFEST.MF The timestamp should not be older than- “02-19-03 15:28”

If the file is older than indicated, download an updated classes12.jar file from Oracle Web site, and replace the old one.

For more information, refer to the guide EP6.0 SP2 Installation Guide (Portal, CM, TREX, Unification), at: service.sap.com > SAP Enterprise Portal 6.0 > Documentation & More > Installation.

Check also SAP Note 580304 for updates on this JAR file.

©2003 SAP AG 20

Page 22: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

7 Tuning the Browser Configuring the browser and front-end devices for the portal leads to increase performance in the processes of the portal.

7.1 Setting the Browser for Compression When using the Microsoft Internet Explorer as client browser, you must activate the HTTP 1.1 setting for the SAP Enterprise Portal compression filter to work.

To set the compression filter: 1. From the client browser menu bar, select Tools and then Internet Options.

2. Choose the Advanced tab and scroll to HTTP 1.1 settings.

3. Make sure the Use HTTP 1.1 checkbox is selected.

4. If your network operates with a proxy server, verify that Use HTTP 1.1 through proxy connections is also selected.

5. Click OK.

The following table contains browser caching information:

Browser Settings Actions

MS Internet Explorer 5.0, 5.5, 6.0

Browser Caching You can improve the browser response time by using the browser cache. This enables your browser to cache resource files such as images, CSS, JS, txt, and many more.

For detailed information on browser caching, refer to the section on Accessing the Enterprise Portal under the topic Setting Internet Browser Options in the End User Guide at: http://help.sap.com > mySAP Enterprise Portal > SAP Enterprise Portal .

To use the browser cache in Internet Explorer (IE): 1. From the Tools menu > Internet Options > General tab, click

Settings.

2. Under Check for newer versions of stored pages in the Settings dialog box, select either Automatically or Every Time you start Internet Explorer.

Do not choose Every visit to page.

3. Click OK twice to save the settings for the browser cache.

©2003 SAP AG 21

Page 23: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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.

Do not choose Every time.

4. Click OK to save the settings for the browser cache.

©2003 SAP AG 22

Page 24: How to… Fine-Tune Performance of Enterprise Portal 6 · your operating system, Java virtual machine (JVM), SAP J2EE Engine, the portal database, the browser, and the LDAP directory

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