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

How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

How to…

Fine-Tune Performance of Enterprise Portal 6.0

Enterprise Portal 6.0 Public

Applicable Releases: EP 6.0 SP2 March 2004

.

Page 2: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

Table of Contents 1 Introduction .................................................................................................................................... 3 2 Tuning the Operating System....................................................................................................... 4

2.1 General Requirements ..............................................................................................................4 2.2 Solaris........................................................................................................................................4

2.2.1 Tuning TCP/IP Connection Handling ............................................................................4 2.2.2 Thread Library Usage (valid only for Solaris 8) ............................................................5

3 Tuning the Java Virtual Machine .................................................................................................. 6 3.1 Related Information on JVM settings ........................................................................................6 3.2 Configuring JVM settings for SAP J2EE Engine .......................................................................7 3.3 Configuring the Heap Size and Garbage Collection Properties................................................7

3.3.1 The JVM Garbage Collection (GC) Mechanism ...........................................................8 3.3.2 Monitoring Garbage Collection .....................................................................................8

3.4 JVM Settings for the SAP J2EE Engine with the Portal ............................................................9 4 Configuring SAP J2EE Engine Cluster 6.20.............................................................................. 12

4.1 Thread Manager Settings........................................................................................................15 4.2 Additional Tunable Properties of SAP J2EE Engine ...............................................................15 4.3 Adjusting SAP J2EE Engine Log Files ....................................................................................16

4.3.1 SAP J2EE Engine system.log and default.trc .............................................................16 4.4 Enabling HTTP Compression for SAP J2EE Engine 6.20 ......................................................17 4.5 Using the SAP J2EE Engine Monitoring Server......................................................................17

5 Tuning the Portal Platform.......................................................................................................... 18 5.1 Initial Portal Page ....................................................................................................................18

5.1.1 Some Guidelines for the Initial Portal Page ................................................................18 5.1.2 JCO iViews in the Initial Portal Page ..........................................................................19

5.2 Adjusting Portal Logging..........................................................................................................20 5.3 Disable Portal Monitoring ........................................................................................................20

5.3.1 How to Disable JARM Reporting: ...............................................................................20 5.4 Configuring Yahoo! Settings....................................................................................................21 5.5 Optimizing Portal Catalog Administration................................................................................21 5.6 Using and Adjusting PCD SQL Tracer logging ......................................................................22 5.7 PRT Configuration ...................................................................................................................22 5.8 Optimizing the Client Framework Script for Portal Pages.......................................................23 5.9 Adjust User Management Connection Pooling (LDAP) ..........................................................23

6 Tuning the System Database...................................................................................................... 24 6.1 Updating Classes12.jar ...........................................................................................................24 6.2 Database .................................................................................................................................24

6.2.1 Oracle..........................................................................................................................24 7 Tuning the Browser ..................................................................................................................... 26

7.1 Setting the Browser for Compression......................................................................................26

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 1

Page 3: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

8 Improving Portal Performance in a Wide-Area Network (WAN) Environment ...................... 28 8.1 Monitoring and Analyzing Tools ..............................................................................................28

8.1.1 Using the Browser to Monitor Network Traffic ............................................................29 8.2 Analysis of the Network Traffic................................................................................................29 8.3 Improving Portal Performance in a WAN Environment ...........................................................30

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 2

Page 4: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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

Settings are presented as independent configurations, and modifying each configuration separately enhances performance of the processes within an area of the portal.

For optimal and enhanced stability and 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, SAP continuously performs tests to enhance the stability and the performance of the portal processes; for up-to-date information on tuning guidelines for SAP Enterprise Portal visit: service.sap.com/ep60 → SAP Enterprise Portal 6.0 → Documentation & More → How-To Guides

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 3

Page 5: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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: service.sap.com/netweaver → SAP NetWeaver in Detail → Solution Life-Cycle Management → Installation → Installation & Upgrade Guides → SAP Web Application Server → Release 6.20

Also, check SAP Note 492222, SAP Software on UNIX: OS Dependencies, for updated kernel parameters. Find SAP Notes in SAP Service Marketplace at: service.sap.com/notes

2.2 Solaris

2.2.1 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 applicable to Solaris 8 and 9.

− set tcp:tcp_time_wait_interval=60000

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 4

Page 6: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

2.2.2 Thread Library Usage (valid only for Solaris 8)

For thread library settings, use the recommendation in the SAP Note 709053, Solaris LWP library usage for SAP J2EE Engine. Find SAP Notes in SAP Service Marketplace at: service.sap.com/notes

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 5

Page 7: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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 and their corresponding values using the SAP Note number 696410, 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 at: 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

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 6

Page 8: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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 the dispatcher automatically starts the server node(s), add the settings to the file in the path of the respective server: <J2EE Engine folder>/cluster/server/cmdline.properties

• 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 on Windows, and “go” on UNIX.

For information on the compiler version (server or client), see the SAP Note number 696410 for the recommended values to apply.

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

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 7

Page 9: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

3.3.1 The JVM Garbage Collection (GC) Mechanism The garbage collection 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.

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.3.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 used before and after the garbage 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: Tune the system to minimize the number of full GC cycles, as these take longer and do not allow the system to respond to other requests.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 8

Page 10: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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

See the SAP Note number 696410 for recommended values to apply.

• Monitor the efficiency of the GC. For more information, see “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.

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

For the recommended values to apply to this property in production environments, see the SAP Note number 696410.

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

Heap Size (Dispatcher)

Increasing the dispatcher’s heap size does not enhance performance.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 9

Page 11: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

Settings Actions and Notes

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/ep60 > SAP Enterprise Portal 6.0 > Documentation & More > Installation.

See the SAP Note number 696410 for recommended values to apply.

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.

See the SAP Note number 696410 for recommended values to apply.

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.

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

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

See the SAP Note number 696410 for recommended values to apply.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 10

Page 12: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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

A value higher than the default makes cache more effective but leaves a smaller memory available to the heap.

A value lower than the default makes the cache less effective but leaves more memory on the heap.

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

See the SAP Note number 696410 for recommended values to apply.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 11

Page 13: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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 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/ep60 > SAP Enterprise Portal 6.0 > Documentation & More > Installation.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 12

Page 14: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

The following properties should be configured for SAP J2EE Engine cluster:

Property Actions and Notes

SuspendedElement This property takes a true or false value, specifying if the server node processes clients’ requests. The default value is false, which means the requests are distributed among cluster elements. To define active/passive primary server cluster configuration: In the SAP J2EE Engine Config Tool window, open:

Server -> ServiceManager ->SuspendedElement − On machine1.server1:-

SuspendeElement = false

− On machine2.server1:-

SuspendeElement = true

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 should contain: The Join Ports of the primary server nodes in the cluster.

− Server nodes

Active primary server ClusterHosts settings should contain:

The Join Port of the passive primary server node in the cluster.

The Join Port of the dispatcher node on the same host.

Passive primary server ClusterHosts settings should contain:

The Join Port of the active primary server node in the cluster. Non-primary server ClusterHosts settings contain: The Join Ports of the primary server nodes in the cluster.

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

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 13

Page 15: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

Property Actions and Notes

RepeatToConnect This property takes a true or false value.

This value determines the behavior of the node after it has contacted all cluster elements specified in the ClusterHosts property and has failed to connect to a SAP J2EE Engine cluster.

When the value is false, the cluster node connects to the cluster even when cluster connectivity attempts have failed.

When the value is true, it does not connect to the 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 every node-to-every node.

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 as follows: 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 as follows: Server managers ClusterManager DependentElement

For additional information on the properties of SAP J2EE Engine 6.20, refer to the document SAP J2EE Engine 6.20 Administration Guide installed with the product at:

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 14

Page 16: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

Property Actions and Notes <J2EE_installation_folder>\docs

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 can support 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.

If you are running other applications besides the portal on the J2EE Engine, refer to The How to Tune SAP J2EE Engine 6.20 v3.0 at: service.sap.com/webas → Tools & Demos → How-To Guides.

4.2 Additional Tunable Properties of SAP J2EE Engine The following are additional SAP J2EE Engine 6.20 properties which you may need to tune in order to enhance performance:

SAP J2EE Engine Property Description

Connections Manipulator Manager The Connections Manipulator Manager supports both TCP and UDP connections.

Connection Manipulator properties allows you to take notice of two key factors, the communication protocols (TCP; UDP) mostly used by the clients, and the frequency of requests.

Timeout Manager The Timeout Manager is a non-distributed system for scheduling tasks for future execution in a background thread.

HTTP Service HTTP Service receives HTTP requests from clients and responds to them by returning the HTML files that correspond to the requested URL.

Transaction Service Transaction Service manages global transactions on SAP J2EE Engine 6.20.

DBPool Service The DBPool service creates and stores database connections

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 15

Page 17: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

so that they can be reused.

Memory Manager The Memory Manager stores information about the level of memory usage in SAP J2EE Engine 6.20.

For detailed information on tuning these properties to enhance performance of SAP J2EE Engine 6.20, refer to the document How to Tune SAP J2EE Engine 6.20 v3.0 at: service.sap.com/webas → Tools & Demos → How-To Guides.

4.3 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.3.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 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.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 16

Page 18: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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

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

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

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

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 17

Page 19: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

5 Tuning the Portal Platform 5.1 Initial Portal Page The initial portal page refers to the home page or first page that displays in the portal at login.

An initial portal page that has a lot of content, including iViews that start back-end applications, creates a lot of load at login, and often results in unsatisfactory performance.

Performance of the portal at login can be influenced by a number of factors including:

• The type of content in the initial page

• Amount of content on the initial page

• Type of iViews in the initial page (isolated iViews in IFRAMEs)

• The number of back-end applications that will be started by the iViews on the initial portal page

5.1.1 Some Guidelines for the Initial Portal Page

The following are some guidelines which you can apply when defining iViews and their content in the initial portal page. Applying these guidelines will improve the performance of the portal at login.

• All Users Must Share the Content in the Initial Portal Page

The initial portal page, or home page in most cases can be shared by all users, for instance, it can be part of the main employee role.

In addition, the content on this page can be virtually the same for all users, although there can be personalization at the page level, such as which iView to show, and iViews that show different content to different users.

• Type of Content in the iViews

The content type for the initial portal page can be informational and not based on applications where users start to change productive data. Do not provide iViews with content to back-end systems, or with connections via JCO/JCA, and web services for which the responses are delivered on the first page.

When the content type is informational, it can be shared by all users. Such content can come from a cache (that is the content cache for iViews, set by property), which basically requires no computation per user. iViews with information will use the content cache so that the output and effort is shared by many users resulting in a small computation load per user.

Again, as the type content is information, it does not require much interaction. This results in better performance, better response time, less latency (especially in WANs), less network and CPU load for the same content.

• Customized Initial Page for Individual Users

iViews in the initial portal page should not be dependent on each user’s needs, but only on personalization parameters. For instance, each user can personalize the city in the Weather iView, but the weather is the same for the same city, even if different users ask.

The initial portal page should contain information that is mostly the same for all users, and the iViews should be embedded (not isolated) on the page. Failure to follow these guidelines can result in inadequate performance at login.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 18

Page 20: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

5.1.2 JCO iViews in the Initial Portal Page

JCO iViews access SAP systems via a JCO client, com.sap.portal.runtime.application.jcoclient. Including JCO iViews in the initial page is not recommended, however, if you have to include such iViews, then make use of the following:

• Connection pooling

A means of saving time in establishing connectivity with back-end systems by collecting connections that have been used earlier, for later use. For example, iViews that are executed in sequence can benefit from the pool, and respond faster resulting in enhanced performance.

• Caching levels

Controls the cache for a portal object. This can be shared, or group.

Implementation of both the connection pooling, and caching levels is by API methods to interfaces with JCO iViews.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 19

Page 21: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

5.2 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

5.3 Disable Portal Monitoring

5.3.1 How to Disable JARM Reporting:

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

To disable JARM reporting 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, do the following:

− Uncheck the option “Collect monitoring data”.

− Select Apply in the iView.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 20

Page 22: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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

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.5 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 not place more than fifty (50) objects in a single folder.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 21

Page 23: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

5.6 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.7 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. See Thread Manager Settings on page 15.

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.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 22

Page 24: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

Setting Action and Notes

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.8 Optimizing the Client Framework Script for Portal Pages The Client Framework includes 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.9 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.

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.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 23

Page 25: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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/ep60 > SAP Enterprise Portal 6.0 > Documentation & More > Installation.

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

6.2 Database

6.2.1 Oracle

To enable high load and avoid errors when running SAP Enterprise Portal with an Oracle database, increase the maximum number of processes and sessions in the database.

Make sure no one is currently using the database, as you must restart the database server.

To change the number of processes on an Oracle database server: 1. From the Oracle program group in the Windows Start menu, go to Database Administration >

DBA Studio, and log on to your Oracle database using DBA Studio as user SYSDBA.

2. Open the Database branch and choose: Instances > Database.

3. Choose All Initialization Parameters.

4. Scroll down the list of parameters to the processes property and increase its value (e.g. 150).

5. Verify the increase with your DBA.

6. Scroll down to the sessions property and increase its value to 1.2 multiplied by the number of processes.

7. Choose OK and then Apply. You are prompted to restart the database server.

8. Restart the IIS and the Oracle server.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 24

Page 26: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

Calculating the optimal value for the processes property: Calculate the number of sessions for the Oracle database as follows: 25 initial + 20 sessions for each J2EE server node.

• Using the procedure described in this section, increase the number of processes (more if required).

• Using the Oracle Enterprise Manager (or DBA Studio), count the number of sessions in the database when the portal is fully utilized (highest available load). This value represents your highest number of sessions.

• Add about 20 to the highest sessions value and calculate the required processes value: (processes = sessions/1.2). Adjust the number of processes and sessions accordingly.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 25

Page 27: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 26

Page 28: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 27

Page 29: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

8 Improving Portal Performance in a Wide-Area Network (WAN) Environment

A wide area network (WAN) refers to an interconnected telecommunications network in different geographical regions. The term is distinguished from a local area network (LAN), which refers to a telecommunications network within a geographic area.

Generally, WAN environments are characterized by differing landscape configurations, settings, bandwidths and high latency issues. Latency is the amount of time it takes a packet of data to travel from source to destination. Together, latency and bandwidth define the speed and capacity of a network.

The portal may behave differently from one WAN environment to another, with different components affecting performance.

This section describes some of the tools, techniques, and methods that will enable you to do the following:

• Monitor and analyze the network traffic, and the number of files transferred from the portal in a WAN environment to a client.

• Improve the performance of the portal in a WAN environment.

8.1 Monitoring and Analyzing Tools There are several tools for monitoring and analyzing network traffic, and the number of files transferred to a client from the portal. These include the following:

• HTTPMon: utility for monitoring HTTP traffic, URLs, and file sizes

For additional information on HTTPMON, see SAP note 377513.

• Network sniffers: tools for monitoring URLs and HTTP headers (Microsoft, Ethereal, HTTPLook)

A "sniffer" is software or hardware that enables a client to observe the data that network computers send to each other, such as control information, sources of html pages, applications, scripts running on your computer— practically all of the transferred data.

• Browsers

Using the capabilities of a browser to monitor network traffic is a manual process. This section discusses the manual processes involved with this method.

Using the monitoring tools, you can analyze and determine the following:

• Total network traffic size per operation; and amount of data delivered and received by your machine

• Total number of requests per operation; the number of requests delivered in an operation and the number of responses received for the same operation.

• Size of the network traffic per each URL; and amount of data transferred over the network

Note that these tools do not depend on the status of your browser‘s cache for the information they provide.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 28

Page 30: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

8.1.1 Using the Browser to Monitor Network Traffic

You monitor network traffic using the browser in two stages: when the browser cache is empty, and then when there is content in the browser cache. Doing so allows you to recognize the effective use of the caching mechanism.

First, clean the browser cache, and then perform the operations you want to monitor. The manual method of sniffing shows the file paths (URLs), file sizes, cookies and their expiration dates, and so on.

To clean the Internet Explorer browser cache:

• Open Internet Explorer, select Tools > Internet Options > General tab > Delete Files (clearing browser cache).

You can view all the cookies and applications in the browser cache.

To view the cookies in the Internet Explorer browser cache:

• Select Tools > Internet Options > General tab > Setting button > View Files or View Object.

You can use this procedure to monitor SSL responses, as the data packet in the SSL enabled network traffic is encrypted.

To clean the Netscape browser cache: If you are using Netscape, you can view the cache for the browser on the disk:

<drive>:\Program Files\Netscape\Users\default\Cache, or, <drive>:\Program Files\Netscape\Users\<user_name>\Cache

8.2 Analysis of the Network Traffic Monitoring the network traffic and the transfer of objects and files in a WAN enables you to analyze issues such as the following:

• Content expiration

• Size of the data used for initial content in the starting portal page; for example, the login page

• Identifying the content, and files that occupy most of the network resources

• Verifying that the same resources and objects — such as style sheets (css), javascript (js) and images (gif, jpg) — are downloaded once

Multiple downloads of the same resources occur in the following cases:

− Upper and lower case are used for same resource path.

− The same resources are stored in different folders in the portal platform.

− There are frames inside portal and iViews that use same resources (IE bug).

• Verifying that only required resources are delivered to clients

• Verifying that resources of the same kind are delivered together, and not separately

• Verifying that only one type of browser control file (IE5 or IE6) is downloaded. (You can identify them by their names; for example; controls_IE5, or controls_IE6.)

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 29

Page 31: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

8.3 Improving Portal Performance in a WAN Environment On completing the analysis, you can apply the following to improve the performance of the portal in a WAN environment:

• Bring together and organize the resources of the same type into one file, so that these are delivered only once.

• Remove unnecessary properties through efficient coding practices in order to reduce the size of resource files

• Make sure that controls_IE5/6.js and controls_IE5/6.css do not exceed 50KB.

• Activate and configure the portal compression feature (MyPage, resources).

• Activate the HTTP Keep-Alive mechanism in the Web server, (especially important in the SSL environment).

• Activate portal caches.

• Use “Pumped” iViews in a high latency environment.

• Note that a longer expiration period for portal resources improves the performance of the portal over WAN because it eliminates unnecessary requests/responses cycles between the portal and client.

In addition, set an expiration period for all custom-developed content, including static and dynamic content (html, jsp, java) via code.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 30

Page 32: How to… Fine-Tune Performance of Enterprise Portal 6 How to… Fine-Tune Performance of Enterprise Portal 6.0 Enterprise Portal 6.0 Public Applicable Releases: EP 6.0 SP2 March 2004

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.

HOW TO FINE-TUNE PERFORMANCE OF SAP ENTERPRISE PORTAL 6.0 31