You are previewing Oracle SOA Suite 11g Performance Tuning Cookbook.
O'Reilly logo
Oracle SOA Suite 11g Performance Tuning Cookbook

Book Description

Over 100 recipes to get the best performance from your Oracle SOA Suite 11g infrastructure

  • Tune the Java Virtual Machine to get the best out of the underlying platform

  • Learn how to monitor and profile your Oracle SOA Suite applications

  • Discover how to design and deploy your application for high-performance scenarios

  • Identify and resolve performance bottlenecks in your Oracle SOA Suite infrastructure

In Detail

Oracle SOA Suite 11g forms the heart of many organisations’ Service Oriented Architecture. Yet for such a core component, simple information on how to tune and configure SOA Suite and its infrastructure is hard to find. Because Oracle SOA Suite 11g builds on top of a variety of infrastructure components, up until now there has been no one single complete reference that brings together all the best practices for tuning the whole SOA stack.

Oracle SOA Suite 11g Performance Cookbook contains plenty of tips and tricks to help you get the best performance from your SOA Suite infrastructure. From monitoring your environment so you know where bottlenecks are, to tuning the Java Virtual Machine, WebLogic Application Server, and BPEL and BPMN mediator engines, this book will give you the techniques you need in a easy to follow step-by-step guide.

Starting with how to identify problems, and building on that with sections on monitoring, testing, and tuning, the recipes in this book will take you through many of the options available for performance tuning your application.

There are many considerations to make when trying to get the best performance out of the Oracle SOA Suite platform. This performance Cookbook will teach you the whole process of tuning JVM garbage collection and memory, tuning BPEL and BPMN persistence settings, and tuning the application server. This book focuses on bringing together tips on how to identify the key bottlenecks in the whole SOA Suite infrastructure, and how to alleviate them.

The Oracle SOA Suite 11g Performance Cookbook will ensure that you have the tools and techniques to get the most out of your infrastructure, delivering reliable, fast, and scalable services to your enterprise.

Table of Contents

  1. Oracle SOA Suite 11g Performance Tuning Cookbook
    1. Table of Contents
    2. Oracle SOA Suite 11g Performance Tuning Cookbook
    3. Credits
    4. About the Authors
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
        3. Instant Updates on New Packt Books
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Identifying Problems
      1. Introduction
      2. Identifying new size problems with jstat
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      3. Identifying permanent generation problems with jstat
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      4. Monitoring garbage collection with jstat
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      5. Identifying locking issues with jstack
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      6. Identifying performance problems with jstack
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      7. Identifying performance problems using VisualVM on HotSpot
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      8. Identifying performance problems using JRMC on JRockit
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      9. Using JRockit flight recorder to identify problems
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      10. Monitoring JDBC connections with the WebLogic console
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      11. Identifying slow-running database queries
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      12. Identifying slow-running components with the Enterprise Manager
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
    9. 2. Monitoring Oracle SOA Suite
      1. Introduction
      2. Installing the Hyperic server
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      3. Installing Hyperic agents
        1. Getting ready
        2. How to do it…
        3. How it works...
        4. There's more...
        5. See also
      4. Configuring Hyperic to monitor SOA Suite 11g
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      5. Monitoring the SOA Suite server availability
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      6. Monitoring the JVM memory usage
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      7. Monitoring the platform CPU usage
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      8. Monitoring the data source usage
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      9. Monitoring open sockets
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      10. Monitoring committed transactions
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      11. Configuring alerts in Hyperic
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      12. Monitoring the system using the DMS servlet
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
    10. 3. Performance Testing
      1. Introduction
      2. Installing Apache JMeter
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      3. Creating a web service test using JMeter
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      4. Running JMeter on multiple servers
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      5. Checking responses in JMeter tests
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      6. Monitoring SOA Suite while testing
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      7. Recording user web sessions with JMeter
        1. Getting ready
        2. How to do it…
        3. How it works…
      8. Designing advanced load tests
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      9. Running performance tests from the Cloud
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
    11. 4. JVM Memory
      1. Introduction
      2. Increasing the JVM heap size
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      3. Setting Xmx and Xms to the same value
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      4. Setting the size of the Permanent Generation heap
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      5. Calculating the total memory used by your application
        1. Getting ready
        2. How to do it…
        3. How it works…
      6. Viewing the memory used using JRMC for JRockit
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
          1. Connecting to a remote JRockit JVM
      7. Viewing the memory used using VisualVM for HotSpot
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
          1. Connecting to a remote Hotspot JVM
      8. Setting the size of the thread stack
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
    12. 5. JVM Garbage Collection Tuning
      1. Introduction
      2. Setting the new size
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      3. Setting the survivor ratio
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      4. Choosing a garbage collection algorithm in HotSpot
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      5. Choosing a garbage collection algorithm in JRockit
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      6. Turning on verbose garbage collection
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      7. Tuning to reduce the number of full garbage collections
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      8. Disabling the RMI garbage collector
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      9. Disabling explicit GC
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
    13. 6. Platform Tuning
      1. Introduction
      2. Tuning global transaction timeouts
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      3. Increasing the HTTP accept backlog
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      4. Reducing the server logging level
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      5. Finding out which JVM you are using
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      6. Using large pages in Linux
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      7. Increasing the number of file descriptors in Linux
        1. Getting ready
        2. How to do it…
        3. How it works…
      8. Tuning the SOA Suite EJB timeouts
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      9. Upgrading to a newer JVM
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      10. Setting the Linux kernel swappiness to low
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      11. Using the Oracle JRockit JVM
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      12. Running your domain in the production mode
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      13. Creating a boot.properties file
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
    14. 7. Data Sources and JMS
      1. Introduction
      2. Setting the data source pool sizes
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      3. Configuring data source testing
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      4. Configuring data source growing and shrinking
        1. Getting ready
        2. How to do it…
        3. How it works…
      5. Setting data source connection timeouts
        1. Getting ready
        2. How to do it…
        3. How it works…
      6. Tuning database XA timeouts
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      7. Tuning connections in the native EIS database adapter
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      8. Configuring the WebLogic thread pool
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      9. Using JMS file persistence
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
      10. Tuning JMS connection factories
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
    15. 8. BPEL and BPMN Engine Tuning
      1. Introduction
      2. Tuning the dispatcher invoke threads
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      3. Tuning the dispatcher engine threads
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      4. Tuning the dispatcher system threads
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      5. Disabling BPEL monitors and sensors
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      6. Reducing the audit level
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      7. Changing a BPEL process to be transient
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      8. Reducing the completion persist level
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      9. Disabling persistence on invocation
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      10. Setting the audit store policy
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      11. Reducing audit trail size threshold
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      12. Increasing large document threshold
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      13. Reducing SOA infra log levels
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      14. Purging data from the BPEL store
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      15. Ensuring automatic database statistics gathering is enabled
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
        5. See also
      16. Tuning Oracle database parameters
        1. Getting ready
        2. How to do it…
        3. How it works…
      17. Tuning the Oracle database
        1. Getting Ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
    16. 9. Mediator and BAM
      1. Introduction
      2. Setting Mediator Parallel Metrics Level
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      3. Setting Mediator Parallel Worker Threads
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      4. Setting Mediator Parallel Maximum Rows Retrieved
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      5. Setting Parallel Locker Thread Sleep
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      6. Using batched delivery in the BAM Adapter
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
    17. 10. Rules and Human Workflow
      1. Introduction
      2. Disabling automatic release timers globally
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Choosing the correct workflow service client
        1. How to do it...
        2. How it works...
      4. Preventing looping and inefficient rule execution
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
        5. See also
      5. Tuning rule execution
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
    18. 11. SOA Application Design
      1. Introduction
      2. Using BPEL process parallelization
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
        5. See also
      3. Using non-blocking service invocations in BPEL flows
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
        5. See also
      4. Turning off payload validation and composite state monitoring
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
      5. Designing BPEL processes to reduce persistence
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      6. Using parallel routing rules in Mediator components
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
        5. See also
      7. Setting HTTP timeouts for external services
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      8. Tuning BPEL adapter properties
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more…
    19. 12. High Performance Configuration
      1. Introduction
      2. Configuring a cluster of SOA Suite servers
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      3. Configuring an OHS load balancer
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also
      4. Tuning for deployment on a virtualized infrastructure
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      5. Using distributed JMS destinations in a cluster
        1. Getting ready
        2. How it works…
        3. How to do it…
      6. Using JMS bridges to improve the enqueue speed
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      7. Choosing deployment hardware
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
    20. Index