Suppressing Optimistic Rendering for WSRP Portlets

27-2 Oracle Fusion Middleware Performance and Tuning Guide

27.1.1 Capacity Planning Factors to Consider

Before you can create a plan, you must have the data to support your deployment strategy. The following list of questions should be asked - and the information you receive should be analyzed carefully - to ensure a successful capacity management plan. For more information, see Appendix A, Related Reading and References .

27.2 Determining Performance Goals and Objectives

The first step in creating an effective capacity management plan is to determine your network load and performance objectives. You need to understand the applications deployed and the environmental constraints placed on the system. Ideally you have information about the levels of activity that components of the application are expected to meet, such as: ■ The anticipated number of users. ■ The number of concurrent sessions. ■ The number of SSL connections required. ■ The number and size of requests. ■ The amount of data and its consistency. ■ Determining your target CPU utilization. Performance objectives are limited by constraints, such as ■ The configuration of hardware and software such as CPU type, disk size versus disk speed, sufficient memory. ■ The ability to interoperate between domains, use legacy systems, support legacy data. ■ The security requirements and use of SSL. SSL involves intensive computing operations and supporting the cryptography operations in the SSL protocol can impact the performance of the WebLogic Server. Table 27–1 Capacity Planning Factors to Consider Capacity Planning Questions For more information see, What are your performance goals and objectives? Section 27.2, Determining Performance Goals and Objectives How many users need to run simultaneously concurrently? Section 27.2, Determining Performance Goals and Objectives Is the simulated workload adequate? Is the workload likely to increase? Section 27.2, Determining Performance Goals and Objectives Is the Oracle Fusion Middleware deployment configured to support clustering and other high availability factors? Section 27.4.1, Using Clustered Configurations Does the hardware meet the configuration requirements? Section 27.5.1, Hardware Configuration Requirements Do you have adequate JVMs to support your users? Section 27.5.2, JVM Requirements Is the database a limiting factor? Section 27.5.4, Database Configuration Capacity Planning 27-3 ■ Development, implementation, and maintenance costs. You can use this information to set realistic performance objectives for your application environment, such as response times, throughput, and load on specific hardware.

27.3 Measuring Your Performance Metrics

After you have determined your performance criteria in Section 27.2, Determining Performance Goals and Objectives , take measurements of the metrics you can use to quantify your performance objectives. Benchmarking key performance indicators provides a performance baseline. See Chapter 4, Monitoring Oracle Fusion Middleware for information on measuring your performance metrics with Oracle Fusion Middleware applications.

27.4 Identifying Bottlenecks in Your System

Bottlenecks, or areas of marked performance degradation, should be addressed while developing your capacity management plan. If possible, profile your applications to pinpoint bottlenecks and improve application performance. Oracle provides the following profilers: ■ Oracle Jrockit Mission Control provides profiling capabilities for processes using Jrockit JVM. http:www.oracle.comtechnologyproductsjrockitmissioncont rolindex.html ■ Oracle Application Diagnostics provides profiling capabilities for java processing using SUN JDK. http:www.oracle.comtechnologysoftwareproductsoemhtdocs jade.html The objective of identifying bottlenecks is to meet your performance goals, not eliminate all bottlenecks. Resources within a system are finite. By definition, at least one resource CPU, memory, or IO can be a bottleneck in the system. Planning for anticipated peak usage, for example, may help minimize the impact of bottlenecks on your performance objectives. See Appendix A, Related Reading and References . There are several ways to address system bottlenecks. Some common solutions include: ■ Using Clustered Configurations ■ Using Connection Pooling ■ Setting the Max HeapSize on JVM ■ Increasing Memory or CPU ■ Segregation of Network Traffic ■ Segregation of Processes and Hardware Interrupt Handlers

27.4.1 Using Clustered Configurations

Clustered configurations distribute work loads among multiple identical cluster member instances. This effectively multiplies the amount of resources available to the distributed process, and provides for seamless fail over for high availability. For more information see Chapter 28, Using Clusters and High Availability Features .