Go to main content
1/23
Contents
Title and Copyright Information
Preface
Documentation Accessibility
Conventions
1
Introduction and Roadmap
Document Scope and Audience
Guide to this Document
New and Changed Performance Features in This Release
2
Top Tuning Recommendations for WebLogic Server
Tune Pool Sizes
Use the Prepared Statement Cache
Use Logging Last Resource Optimization
Tune Connection Backlog Buffering
Use Optimistic or Read-only Concurrency
Use Local Interfaces
Use eager-relationship-caching
Tune HTTP Sessions
Tune Messaging Applications
3
Performance Tuning Roadmap and Guidelines
Performance Tuning Roadmap
Understand Your Performance Objectives
Measure Your Performance Metrics
Monitor Disk and CPU Utilization
Monitor Data Transfers Across the Network
Locate Bottlenecks in Your System
Minimize Impact of Bottlenecks
Tune Your Application
Tune your DB
Tune WebLogic Server Performance Parameters
Tune Your JVM
Tune the Operating System
Achieve Performance Objectives
Tuning Tips
4
Tuning Java Virtual Machines (JVMs)
JVM Tuning Considerations
Changing To a Different JVM
Garbage Collection
VM Heap Size and Garbage Collection
Choosing a Garbage Collection Scheme
Using Verbose Garbage Collection to Determine Heap Size
Specifying Heap Size Values
Tuning Tips for Heap Sizes
Java HotSpot VM Heap Size Options
Other Java HotSpot VM Options
Automatically Logging Low Memory Conditions
Manually Requesting Garbage Collection
Requesting Thread Stacks
Increasing Java Heap Size for Managed Servers
Using the Administration Console to Set Java Heap Size
Modify the startManagedWebLogic Script to Set Java Heap Size
Using the Command Line to Set Java Heap Size
Determining the Memory Values Used by a Managed Server
5
Tuning WebLogic Diagnostic Framework and Java Flight Recorder Integration
Using Java Flight Recorder
Using WLDF
Tuning Considerations
6
Tuning WebLogic Server
Setting Java Parameters for Starting WebLogic Server
Development vs. Production Mode Default Tuning Values
Deployment
On-demand Deployment of Internal Applications
Use FastSwap Deployment to Minimize Redeployment Time
Generic Overrides
Thread Management
Tuning a Work Manager
Self-Tuning Thread Pool Size
How Many Work Managers are Needed?
What are the SLA Requirements for Each Work Manager?
Understanding the Differences Between Work Managers and Execute Queues
Migrating from Previous Releases
Tuning the Stuck Thread Detection Behavior
Tuning Network I/O
Tuning Muxers
Java Non-Blocking IO (NIO) Muxer
Native Muxers
Server Location and Supported Platforms
Network Channels
Reducing the Potential for Denial of Service Attacks
Tuning Message Size
Tuning Complete Message Timeout
Tuning Number of File Descriptors
Tuning Connection Backlog Buffering
Tuning Cached Connections
Multitenancy Tuning Recommendations
Tuning the Work Manager Queue Size
Optimize Java Expressions
Using WebLogic Server Clusters to Improve Performance
Scalability and High Availability
How to Ensure Scalability for WebLogic Clusters
Database Bottlenecks
Session Replication
Asynchronous HTTP Session Replication
Asynchronous HTTP Session Replication using a Secondary Server
Asynchronous HTTP Session Replication using a Database
Invalidation of Entity EJBs
Invalidation of HTTP sessions
JNDI Binding, Unbinding and Rebinding
Running Multiple Server Instances on Multi-Core Machines
Monitoring a WebLogic Server Domain
Using the Administration Console to Monitor WebLogic Server
Using the WebLogic Diagnostic Framework
Using JMX to Monitor WebLogic Server
Using WLST to Monitor WebLogic Server
Resources to Monitor WebLogic Server
Tuning Class and Resource Loading
Filtering Loader Mechanism
Class Caching
SSL Considerations
7
Tuning the WebLogic Persistent Store
Overview of Persistent Stores
Using the Default Persistent Store
Using Custom File Stores and JDBC Stores
Using a JDBC TLOG Store
Using JMS Paging Stores
Using Flash Storage to Page JMS Messages
Using Diagnostic Stores
Best Practices When Using Persistent Stores
Tuning JDBC Stores
Tuning File Stores
Basic Tuning Information
Tuning a File Store Direct-Write-With-Cache Policy
Using Flash Storage to Increase Performance
Additional Considerations
Tuning the File Store Direct-Write Policy
Tuning the File Store Block Size
Setting the Block Size for a File Store
Determining the File Store Block Size
Determining the File System Block Size
Converting a Store with Pre-existing Files
Using a Network File System
Configuring Synchronous Write Policies
Test Server Restart Behavior
Handling NFS Locking Errors
Solution 1 - Copying Data Files to Remove NFS Locks
Solution 2 - Disabling File Locks in WebLogic Server File Stores
Disabling File Locking for the Default File Store
Disabling File Locking for a Custom File Store
Disabling File Locking for a JMS Paging File Store
Disabling File Locking for a Diagnostics File Store
8
Database Tuning
General Suggestions
Database-Specific Tuning
Oracle
Microsoft SQL Server
Sybase
9
Tuning WebLogic Server EJBs
General EJB Tuning Tips
Tuning EJB Caches
Tuning the Stateful Session Bean Cache
Tuning the Entity Bean Cache
Transaction-Level Caching
Caching between Transactions
Ready Bean Caching
Tuning the Query Cache
Tuning EJB Pools
Tuning the Stateless Session Bean Pool
Tuning the MDB Pool
Tuning the Entity Bean Pool
CMP Entity Bean Tuning
Use Eager Relationship Caching
Using Inner Joins
Use JDBC Batch Operations
Tuned Updates
Using Field Groups
include-updates
call-by-reference
Bean-level Pessimistic Locking
Concurrency Strategy
Tuning In Response to Monitoring Statistics
Cache Miss Ratio
Lock Waiter Ratio
Lock Timeout Ratio
Pool Miss Ratio
Destroyed Bean Ratio
Pool Timeout Ratio
Transaction Rollback Ratio
Transaction Timeout Ratio
10
Tuning Message-Driven Beans
Use Transaction Batching
MDB Thread Management
Determining the Number of Concurrent MDBs
Selecting a Concurrency Strategy
Thread Utilization When Using WebLogic Destinations
Limitations for Multi-threaded Topic MDBs
Best Practices for Configuring and Deploying MDBs Using Distributed Topics
Using MDBs with Foreign Destinations
Concurrency for MDBs that Process Messages from Foreign Destinations
Thread Utilization for MDBs that Process Messages from Foreign Destinations
Token-based Message Polling for Transactional MDB Listening on Queues/Topics
Compatibility for WLS 10.0 and Earlier-style Polling
11
Tuning Data Sources
Tune the Number of Database Connections
Waste Not
Use Test Connections on Reserve with Care
Cache Prepared and Callable Statements
Using Pinned-To-Thread Property to Increase Performance
Database Listener Timeout under Heavy Server Loads
Disable Wrapping of Data Type Objects
Advanced Configurations for Oracle Drivers and Databases
Use Best Design Practices
12
Tuning Transactions
Improving Throughput Using XA Transaction Cluster Affinity
Logging Last Resource Transaction Optimization
LLR Tuning Guidelines
Read-only, One-Phase Commit Optimizations
Configure XA Transactions without TLogs
13
Tuning WebLogic JMS
JMS Performance & Tuning Check List
Handling Large Message Backlogs
Improving Message Processing Performance
Controlling Message Production
Drawbacks to Controlling Message Production
Cache and Re-use Client Resources
Tuning Distributed Queues
Tuning Topics
Tuning Non-durable Topic Publishers
Tuning for Large Messages
Tuning MessageMaximum
Tuning MessageMaximum Limitations
Setting Maximum Message Size for Network Protocols
Compressing Messages
Paging Out Messages To Free Up Memory
Specifying a Message Paging Directory
Tuning the Message Buffer Size Option
Defining Quota
Quota Resources
Destination-Level Quota
JMS Server-Level Quota
Blocking Senders During Quota Conditions
Defining a Send Timeout on Connection Factories
Specifying a Blocking Send Policy on JMS Servers
Subscription Message Limits
Controlling the Flow of Messages on JMS Servers and Destinations
How Flow Control Works
Configuring Flow Control
Flow Control Thresholds
Handling Expired Messages
Defining a Message Expiration Policy
Configuring an Expiration Policy on Topics
Configuring an Expiration Policy on Queues
Configuring an Expiration Policy on Templates
Defining an Expiration Logging Policy
Expiration Log Output Format
Tuning Active Message Expiration
Configuring a JMS Server to Actively Scan Destinations for Expired Messages
Tuning Applications Using Unit-of-Order
Best Practices
Using UOO and Distributed Destinations
Migrating Old Applications to Use UOO
Using One-Way Message Sends
Configure One-Way Sends On a Connection Factory
One-Way Send Support In a Cluster With a Single Destination
One-Way Send Support In a Cluster With Multiple Destinations
When One-Way Sends Are Not Supported
Different Client and Destination Hosts
XA Enabled On Client's Host Connection Factory
Higher QOS Detected
Destination Quota Exceeded
Change In Server Security Policy
Change In JMS Server or Destination Status
Looking Up Logical Distributed Destination Name
Hardware Failure
One-Way Send QOS Guidelines
Tuning the Messaging Performance Preference Option
Messaging Performance Configuration Parameters
Compatibility With the Asynchronous Message Pipeline
Client-side Thread Pools
Best Practices for JMS .NET Client Applications
Considerations for Oracle Data Guard Environments
Pause Destinations for Planned Down Time
Migrate JMS Services for Unexpected Outages
14
Tuning WebLogic JMS Store-and-Forward
Best Practices for JMS SAF
Tuning Tips for JMS SAF
15
Tuning WebLogic Message Bridge
Best Practices
Changing the Batch Size
Changing the Batch Interval
Changing the Quality of Service
Using Multiple Bridge Instances
Changing the Thread Pool Size
Avoiding Durable Subscriptions
Co-locating Bridges with Their Source or Target Destination
Changing the Asynchronous Mode Enabled Attribute
Tuning Environments with Many Bridges
16
Tuning Resource Adapters
Classloading Optimizations for Resource Adapters
Connection Optimizations
Thread Management
InteractionSpec Interface
17
Tuning Web Applications
Best Practices
Disable Page Checks
Use Custom JSP Tags
Precompile JSPs
Use HTML Template Compression
Use Service Level Agreements
Related Reading
Session Management
Managing Session Persistence
Minimizing Sessions
Aggregating Session Data
Pub-Sub Tuning Guidelines
Enabling GZIP Compression
18
Tuning Web Services
Web Services Best Practices
Tuning Web Service Reliable Messaging Agents
Tuning Heavily Loaded Systems to Improve Web Service Performance
Setting the Work Manager Thread Pool Minimum Size Constraint
Setting the Buffering Sessions
Releasing Asynchronous Resources
19
Tuning WebLogic Tuxedo Connector
Configuration Guidelines
Best Practices
A
Capacity Planning
Capacity Planning Factors
Programmatic and Web-based Clients
RMI and Server Traffic
SSL Connections and Performance
WebLogic Server Process Load
Database Server Capacity and User Storage Requirements
Concurrent Sessions
Network Load
Clustered Configurations
Server Migration
Application Design
Assessing Your Application Performance Objectives
Hardware Tuning
Benchmarks for Evaluating Performance
Supported Platforms
Network Performance
Determining Network Bandwidth
Related Information
Scripting on this page enhances content navigation, but does not change the content in any way.