Locate Bottlenecks in Your System Minimize Impact of Bottlenecks Tune Your Application
3.1.4 Monitor Data Transfers Across the Network
Check the amount of data transferred between the application and the application server, and between the application server and the database server. This amount should not exceed your network bandwidth; otherwise, your network becomes the bottleneck. See Section 4, Operating System Tuning.3.1.5 Locate Bottlenecks in Your System
If you determine that neither the network nor the database server is the bottleneck, start looking at your operating system, JVM, and WebLogic Server configurations. Most importantly, is the machine running WebLogic Server able to get your target CPU utilization with a high client load? If the answer is no, then check if there is any locking taking place in the application. You should profile your application using a commercially available tool for example, JProbe or OptimizeIt to pinpoint bottlenecks and improve application performance.3.1.6 Minimize Impact of Bottlenecks
In this step, you tune your environment to minimize the impact of bottlenecks on your performance objectives. It is important to realize that in this step you are minimizing the impact of bottlenecks, not eliminating them. Tuning allows you to adjust resources to achieve your performance objectives. For the scope of this document, this includes from most important to least important: ■ Section 3.1.7, Tune Your Application ■ Section 3.1.8, Tune your DB ■ Section 3.1.9, Tune WebLogic Server Performance Parameters ■ Section 3.1.10, Tune Your JVM ■ Section 3.1.11, Tune the Operating System ■ Section 8, Tuning the WebLogic Persistent Store3.1.7 Tune Your Application
To quote the authors of Oracle WebLogic Server: Optimizing WebLogic Server Performance: Good application performance starts with good application design. Overly-complex or poorly-designed applications will perform poorly regardless of the system-level tuning and best practices employed to improve performance. In other words, a poorly designed application can create unnecessary bottlenecks. For example, resource contention could be a case of poor design, rather than inherent to the application domain. For more information, see: Tip: Even if you find that the CPU is 100 percent utilized, you should profile your application for performance improvements. 3-4 Performance and Tuning for Oracle WebLogic Server ■ Chapter 10, Tuning WebLogic Server EJBs ■ Chapter 11, Tuning Message-Driven Beans ■ Chapter 12, Tuning Data Sources ■ Chapter 13, Tuning Transactions ■ Chapter 14, Tuning WebLogic JMS ■ Chapter 15, Tuning WebLogic JMS Store-and-Forward ■ Chapter 16, Tuning WebLogic Message Bridge ■ Chapter 17, Tuning Resource Adapters ■ Chapter 18, Tuning Web Applications ■ Chapter 19, Tuning Web Services ■ Chapter 20, Tuning WebLogic Tuxedo Connector3.1.8 Tune your DB
Parts
» Oracle Fusion Middleware Online Documentation Library
» Document Scope and Audience Guide to this Document
» Performance Features of this Release Tune Pool Sizes
» Understand Your Performance Objectives
» Locate Bottlenecks in Your System Minimize Impact of Bottlenecks Tune Your Application
» VM Heap Size and Garbage Collection
» Choosing a Garbage Collection Scheme Using Verbose Garbage Collection to Determine Heap Size
» Other Java HotSpot VM Options
» Specifying Heap Size Values Tuning Tips for Heap Sizes Automatically Logging Low Memory Conditions
» JVM Tuning Considerations Using JRockit Flight Recorder Tuning Considerations
» Setting Java Parameters for Starting WebLogic Server
» Development vs. Production Mode Default Tuning Values
» Tuning Muxers Tuning Network IO
» Tuning Message Size Tuning Complete Message Timeout Tuning Number of File Descriptors
» Tune the Chunk Parameters Tuning Connection Backlog Buffering
» Tuning Cached Connections Tuning Network IO
» Scalability and High Availability
» JNDI Binding, Unbinding and Rebinding Running Multiple Server Instances on Multi-Core Machines
» Filtering Loader Mechanism Class Caching
» Using the Default Persistent Store Using Custom File Stores and JDBC Stores
» Basic Tuning Information Tuning File Stores
» Best Practices When Using Persistent Stores Tuning JDBC Stores General Suggestions
» Transaction-Level Caching Caching between Transactions Ready Bean Caching
» Tuning the Stateless Session Bean Pool Tuning the MDB Pool Tuning the Entity Bean Pool
» Use JDBC Batch Operations Tuned Updates Using Field Groups include-updates
» call-by-reference Bean-level Pessimistic Locking Concurrency Strategy
» Cache Miss Ratio Lock Waiter Ratio
» Lock Timeout Ratio Pool Miss Ratio
» Destroyed Bean Ratio Pool Timeout Ratio
» Determining the Number of Concurrent MDBs Selecting a Concurrency Strategy
» Thread Utilization When Using WebLogic Destinations Limitations for Multi-threaded Topic MDBs
» Use Test Connections on Reserve with Care Cache Prepared and Callable Statements
» Read-only, One-Phase Commit Optimizations JMS Performance Tuning Check List
» Improving Message Processing Performance
» Cache and Re-use Client Resources Tuning Distributed Queues
» Quota Resources Destination-Level Quota
» Defining a Send Timeout on Connection Factories
» Tuning Topics Tuning for Large Messages Setting Maximum Message Size for Network Protocols
» Compressing Messages Oracle Fusion Middleware Online Documentation Library
» How Flow Control Works Configuring Flow Control
» 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
» Best Practices Using UOO and Distributed Destinations Migrating Old Applications to Use UOO
» Messaging Performance Configuration Parameters
» Client-side Thread Pools Best Practices for JMS .NET Client Applications
» Best Practices Changing the Batch Size Changing the Batch Interval
» Changing the Quality of Service Using Multiple Bridge Instances Changing the Thread Pool Size
» Classloading Optimizations for Resource Adapters Connection Optimizations
» Disable Page Checks Use Custom JSP Tags Precompile JSPs
» Managing Session Persistence Session Management
» Thread Management InteractionSpec Interface Pub-Sub Tuning Guidelines
» Setting the Buffering Sessions Releasing Asynchronous Resources
Show more