Skip Headers
Oracle® Application Server Performance Guide
10g Release 2 (10.1.2)
Part No. B14001-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Index
Index

Next
Next
 

Contents

List of Examples

List of Figures

List of Tables

Title and Copyright Information

Send Us Your Comments

Preface

Intended Audience
Documentation Accessibility
Organization
Related Documentation
Conventions

1 Performance Overview

Introduction to Oracle Application Server Performance
Performance Terms
What Is Performance Tuning?
Response Time
System Throughput
Wait Time
Critical Resources
Effects of Excessive Demand
Adjustments to Relieve Problems
Performance Targets
User Expectations
Performance Evaluation
Performance Methodology
Factors in Improving Performance

2 Monitoring Oracle Application Server

Overview of Monitoring Oracle Application Server
Oracle Enterprise Manager 10g Application Server Control Console
Oracle Application Server Built-in Performance Metrics
Centralized Management of Oracle Application Server Instances
Native Operating System Performance Commands
Network Performance Monitoring Tools
Using Oracle Application Server Built-in Performance Metrics
Viewing Performance Metrics Using AggreSpy
Using the AggreSpy Display
AggreSpy URL With a Proxy Server
AggreSpy URL and Access Control
AggreSpy Limitation When Using Load Balancing With Clusters
Viewing Performance Metrics Using dmstool
Access Control for dmstool
Using dmstool to List the Names of All Metrics
Using dmstool to Report Values for Specific Performance Metrics
Using dmstool With the Interval and Count Options
Using dmstool to Report All Metrics with Metric Values
Using dmstool to Report All Metrics with Metric Values in XML Format
Using dmstool to Reset Metric Values
Using dmstool to View Metrics on a Remote Oracle Application Server System
Viewing Performance Metrics Using AggreSpy (for Standalone OC4J)

3 Monitoring Oracle HTTP Server

Monitoring Oracle HTTP Server with Application Server Control Console
Assessing the Oracle HTTP Server Load with Application Server Control Console
Oracle HTTP Server Status Metrics
Oracle HTTP Server Response and Load Metrics
Oracle HTTP Server Module Metrics
Oracle HTTP Server Error Log
Investigating Oracle HTTP Server Errors with Application Server Control Console
Expected Oracle HTTP Server Errors and Warnings
Categorizing Oracle HTTP Server Problems with Application Server Control Console
Categorizing Oracle HTTP Server Problems by Module
Categorizing Oracle HTTP Server Problems by Virtual Host
Categorizing Oracle HTTP Server Problems by Child Server
Monitoring Oracle HTTP Server with Built-in Performance Metrics
Assessing the Oracle HTTP Server Load with Built-in Metrics
Investigating Oracle HTTP Server Errors with Built-in Metrics
Categorizing Oracle HTTP Server Performance Problems with Built-in Metrics
Categorizing Oracle HTTP Server Performance Problems by Module
Categorizing Oracle HTTP Server Performance Problems by Virtual Host
Categorizing Oracle HTTP Server Performance Problems by Child Server

4 Monitoring OC4J

Monitoring OC4J With Application Server Control Console
Monitoring OC4J Instances With Application Server Control Console
General
JDBC Usage
Status
Response for Servlets and JSPs
Response for EJBs
Monitoring J2EE Applications with Application Server Control Console
General
Response for Servlets and JSPs
Response for EJBs
Web Module Table
EJB Modules Table
Monitoring OC4J With Built-in Performance Metrics

5 Optimizing Oracle HTTP Server

TCP Tuning Parameters (for UNIX)
Tuning Linux
Raising Network Limits on Linux Systems for 2.1.100 or greater
Tuning a Running System
Tuning the Default and Maximum Size
Tuning at Compile Time
Setting TCP Parameters
Increasing TCP Connection Table Access Speed
Specifying Retention Time for Connection Table Entries
Increasing the Handshake Queue Length
Changing the Data Transmission Rate
Changing the Data Transfer Window Size
Network Tuning for Windows
Network Tuning (for Windows 2000)
Network Tuning (for Windows 2003)
Network Tuning (for Windows XP)
Configuring Oracle HTTP Server Directives
Configuring the MaxClients Directive
How Persistent Connections Can Reduce httpd Process Availability
Configuring the ThreadsPerChild Parameter (for Windows)
Configuring ThreadsPerChild for Static Page Requests
Oracle HTTP Server Logging Options
Access Logging
Configuring the HostNameLookups Directive
Error logging
Oracle HTTP Server Security Performance Considerations
Oracle HTTP Server Secure Sockets Layer (SSL) Performance Issues
Oracle HTTP Server SSL Caching
SSL Application Level Data Encryption
SSL Performance Recommendations
Oracle HTTP Server Port Tunneling Performance Issues
Oracle HTTP Server Performance Tips
Analyze Static Versus Dynamic Requests
Analyze Time Differences Between Oracle HTTP Server and OC4J Servers
Beware of a Single Data Point Yielding Misleading Results
Setting mod_oc4j Load Balancing Policies
Quick Summary for Using Load Balancing With mod_oc4j
Using Round Robin and Random Policies With mod_oc4j Load Balancing
Using Local Affinity Option With mod_oc4j Load Balancing
Using Weighted Routing Option With mod_oc4j Load Balancing
Recommendations for Load Balancing With mod_oc4j

6 Optimizing J2EE Applications In OC4J

OC4J J2EE Application Performance Quickstart
Improving J2EE Application Performance by Configuring OC4J Instance
Setting Java Command Line Options (Using JVM and OC4J Performance Options)
Setting the JVM Heap Size for OC4J Processes
Setting the JVM Server Option for OC4J Processes
Setting the JVM AggressiveHeap Option for OC4J Processes
Setting the JVM Stack Size Option for OC4J Processes
Setting the JVM Thread Synchronization Option for OC4J Processes
Setting the JVM Permanent Generation Option for OC4J Processes
Setting the OC4J DMS Sensors Option
Setting the OC4J JDBC DMS Statement Metrics Option
Setting the OC4J Dedicated RMI Context Option
Setting the OC4J Define Column Type Option
Using Application Server Control Console to Change JVM Command Line Options
Setting Up Data Sources – Performance Issues
Emulated and Non-Emulated Data Sources
Using the EJB Aware Location Specified in Emulated Data Sources
Setting the Maximum Open Connections in Data Sources
Setting the Minimum Open Connections in Data Sources
Setting the Cached Connection Inactivity Timeout in Data Sources
Setting the Wait for Free Connection Timeout in Data Sources
Setting the Connection Retry Interval in Data Sources
Setting the Maximum Number of Connection Attempts in Data Sources
Setting the JDBC Statement Cache Size in Data Sources
Setting the JDBC Prefetch Size for a CMP Entity Bean
Using Application Server Control to Change Data Source Configuration Options
Setting server.xml Configuration Parameters
Setting the OC4J Transaction Configuration Timeout in server.xml
Setting the OC4J Task Manager Granularity in server.xml
Setting the OC4J Options for Stateful Session Bean Passivation in server.xml
Limiting Concurrency In OC4J
Using Application Server Control Console to Change server.xml Configuration Options
Improving Servlet Performance in Oracle Application Server
Improving Performance by Altering Servlet Configuration Parameters
Loading Servlet Classes at Startup
Reducing Requests for Static Pages and Images
Setting the Servlet Session Timeout
Servlet Performance Tips
Analyze Servlet Duration
Understand Server Request Load
Find Large Servlets That Require a Long Load Time
Watch for Unused Sessions and Session Invalidation
Load Servlet Session Security Routines at Startup
Improving JSP Performance in Oracle Application Server
Improving Performance by Altering JSP Configuration Parameters
Using the main_mode Parameter
Using the tags_reuse_default Parameter
Additional JSP and OC4J Configuration Parameters
Improving Performance by Tuning JSP Code
Impact of Session Management on Performance
Using Static Template Text Instead of out.print for Outputting Text
Performance Issues for Buffering JSPs
Using Static Versus Dynamic Includes
Performance Issues for Including Static Content
Improving EJB Performance in Oracle Application Server
Configuring Parameters that Apply for All EJBs (Except MDBs)
EJB Timeouts Using a Non-default taskmanager-granularity
Configuring Parameters for CMP Entity Beans
Configuring Lazy-loading on CMP Entity Bean Finder Methods
Setting The CMP Define Column Type Option
Setting The Batch Size Option to Batch UPDATE statements
Configuring Parameters for BMP Entity Beans
Configuring Parameters for Session Beans
Configuring Stateful Session Bean Passivation
Stateful Session Bean Passivation Performance Recommendations
Configuring Parameters for Message Driven Beans (MDBs)
Using The listener-threads MDB Parameter
Using Performance Metrics for MDB Messages
Setting up JMS Connections in MDB ejbCreate or onMessage Methods
Improving Web Services Performance in Oracle Application Server
Avoiding Web Services Initial Request Delay
Using Web Services Typed Requests
Tuning The Web Services Stateful Session Timeout
Improving ADF Performance in Oracle Application Server
Choose the Right Deployment Configuration
Use Application Module Pooling for Scalability
Perform Global Framework Component Customization Using Custom Subclasses
Use SQL-Only and Forward-Only View Objects when Possible
Do Not Let Your Application Modules Get Too Large
Use the Right Failover Mode
Use View Row Spillover to Lower the Memory to Cache a Large Number of Rows
Choose the Right Style of Bind Parameters
Implement Query Conditions at Design Time if Possible
Use the Right JDBC Fetch Size
Turn off Event Listening in View Objects used in Batch Processes
Improving JAAS (JAZN) Performance in Oracle Application Server
Improving JAZN Performance With an XML Provider
Improving JAZN Performance With an LDAP Provider (Oracle Internet Directory)
Configuring JAZN Providers
Configuring Session Timeout in web.xml
JAZN Performance Recommendations
Using Multiple OC4Js, Limiting Connections and Load Balancing
Configuring Multiple OC4J Processes
Overview of Types of OC4J Configurations
Determining the Number of OC4J Processes
Partitioning Applications into Different OC4J Instances
Configuring Multiple OC4J Processes Using Application Server Control Console
Load Balancing Applications
Web Application Load Balancing
EJB Application Load Balancing
Limiting Connections
Limiting Web Connections
Limiting Remote EJB Client Connections
Limiting HTTP Connections with Standalone OC4J
Controlling Replication With Multiple OC4Js
Controlling Web Application Replication
Controlling Stateful Session EJB Replication
Performance Considerations for Deploying J2EE Applications
Deployment Performance During the Application Development Phase
Deployment Performance During the Test and Production Phases

7 Optimizing OracleAS Web Cache

Use Two CPUs for OracleAS Web Cache
Configure Enough Memory for OracleAS Web Cache
Make Sure You Have Sufficient Network Bandwidth
Set a Reasonable Number of Network Connections
Connections on UNIX Platforms
Connections on Windows
Tune Network-Related Parameters
Increase Cache Hit Rates
Check Application Web Server and Web Cache Settings to Optimize Response Time

8 Optimizing PL/SQL Performance

9 Instrumenting Applications With DMS

Introducing DMS Performance Metrics
Instrumenting Applications With DMS Metrics
Monitoring DMS Metrics
Understanding DMS Terminology (Nouns and Sensors)
DMS Metrics
DMS Sensors
DMS Nouns
DMS Object Relationships
DMS Naming Conventions
General DMS Naming
General DMS Naming Conventions and Character Sets
Noun and Noun Type Naming Conventions
Sensor Naming Conventions
Adding DMS Instrumentation To Java Applications
Including DMS Imports
Organizing Performance Data
Defining and Using Metrics for Timing
Defining PhaseEvent Sensors
Using PhaseEvent Sensors
Defining and Using Metrics for Counting
Defining Event Sensors
Using Event Sensors
Defining and Using Metrics for Recording Status Information (State Sensors)
Defining State Sensors
Using State Sensors
Validating and Testing Applications Using DMS Metrics
Validating DMS Metrics
Testing DMS Metrics For Efficiency
Understanding DMS Security Considerations
Conditional Instrumentation Using DMS Sensor Weight
Dumping DMS Metrics To Files
Resetting and Destroying Sensors
DMS Coding Recommendations
Isolating Expensive Intervals Using PhaseEvent Metrics
Using A High Resolution Clock To Increase DMS Precision
Configuring DMS Clocks for Reporting Time for OC4J (Java)
Configuring DMS Clocks for Reporting Time for Oracle HTTP Server

10 Database Tuning Considerations

Tuning init.ora Database Parameters
Tuning Redo Logs Location and Sizing

A Performance Metrics

Oracle HTTP Server Metrics
Oracle HTTP Server Child Server Metrics
Oracle HTTP Server Responses Metrics
Oracle HTTP Server Virtual Host Metrics
Aggregate Module Metrics
HTTP Server Module Metrics
Oracle HTTP Server mod_oc4j Metrics
JVM Metrics
JVM Properties Metrics
JDBC Metrics
JDBC Driver Metrics
JDBC Data Source Metrics
JDBC Driver Specific Connection Metrics
JDBC Data Source Specific Connection Metrics
JDBC Driver Statement Metrics
JDBC Data Source Statement Metrics
OC4J Metrics
Web Module Metrics
Web Context Metrics
OC4J Servlet Metrics
OC4J JSP Metrics
JSP Runtime Metrics
JSP Metrics
OC4J EJB Metrics
OC4J EJB Session Bean Metrics
EJB Bean Metrics
EJB Method Metrics
OC4J OPMN Info Metrics
OC4J JMS Metrics
JMS Metric Tables
JMS Stats Metric Table
JMS Request Handler Stats
JMS Connection Stats
JMS Session Stats
JMS Message Producer Stats
JMS Message Browser Stats
JMS Message Consumer Stats
JMS Durable Subscription Stats
JMS Destination Stats
JMS Temporary Destination Stats
JMS Store Stats
JMS Persistence Stats
OC4J Task Manager Metrics
mod_plsql Metrics
Portal Metrics
Oracle Process Manager and Notification Server Metrics
OPMN_PM Metric Table
OPMN_HOST_STATISTICS Metric Table
OPMN_IAS_INSTANCE Metric Table
OPMN_IAS_COMPONENT Metrics
OPMN ONS Metrics
Discoverer Metrics
DMS Internal Metrics

B Component Performance Links

Oracle Application Server Toplink Performance Information
Oracle Application Server Portal Performance Information
Oracle Business Intelligence Discoverer Performance Information
Oracle Application Server Wireless Performance Information

Index