Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Oracle SOA Suite Performance Tuning Cookbook
Oracle SOA Suite Performance Tuning Cookbook
Oracle SOA Suite Performance Tuning Cookbook
Ebook871 pages3 hours

Oracle SOA Suite Performance Tuning Cookbook

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This is a Cookbook with interesting, hands-on recipes, giving detailed descriptions and lots of practical walkthroughs for boosting the performance of your Oracle SOA Suite.This book is for Oracle SOA Suite 11g administrators, developers, and architects who want to understand how they can maximise the performance of their SOA Suite infrastructure. The recipes contain easy to follow step-by-step instructions and include many helpful and practical tips. It is suitable for anyone with basic operating system and application server administration experience.
LanguageEnglish
Release dateJul 11, 2013
ISBN9781849688857
Oracle SOA Suite Performance Tuning Cookbook

Related to Oracle SOA Suite Performance Tuning Cookbook

Related ebooks

Internet & Web For You

View More

Related articles

Reviews for Oracle SOA Suite Performance Tuning Cookbook

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Oracle SOA Suite Performance Tuning Cookbook - Matt Brasier

    Table of Contents

    Oracle SOA Suite Performance Tuning Cookbook

    Credits

    About the Authors

    About the Reviewers

    www.PacktPub.com

    Support files, eBooks, discount offers and more

    Why Subscribe?

    Free Access for Packt account holders

    Instant Updates on New Packt Books

    Preface

    What this book covers

    What you need for this book

    Who this book is for

    Conventions

    Reader feedback

    Customer support

    Downloading the example code

    Errata

    Piracy

    Questions

    1. Identifying Problems

    Introduction

    Identifying new size problems with jstat

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Identifying permanent generation problems with jstat

    Getting ready

    How to do it…

    How it works…

    See also

    Monitoring garbage collection with jstat

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Identifying locking issues with jstack

    Getting ready

    How to do it…

    How it works…

    There's more…

    Identifying performance problems with jstack

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Identifying performance problems using VisualVM on HotSpot

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Identifying performance problems using JRMC on JRockit

    Getting ready

    How to do it…

    How it works…

    See also

    Using JRockit flight recorder to identify problems

    Getting ready

    How to do it…

    How it works…

    See also

    Monitoring JDBC connections with the WebLogic console

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Identifying slow-running database queries

    Getting ready

    How to do it…

    How it works…

    See also

    Identifying slow-running components with the Enterprise Manager

    Getting ready

    How to do it…

    How it works…

    There's more…

    2. Monitoring Oracle SOA Suite

    Introduction

    Installing the Hyperic server

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Installing Hyperic agents

    Getting ready

    How to do it…

    How it works...

    There's more...

    See also

    Configuring Hyperic to monitor SOA Suite 11g

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring the SOA Suite server availability

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring the JVM memory usage

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring the platform CPU usage

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring the data source usage

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring open sockets

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring committed transactions

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Configuring alerts in Hyperic

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Monitoring the system using the DMS servlet

    Getting ready

    How to do it...

    How it works...

    There's more...

    3. Performance Testing

    Introduction

    Installing Apache JMeter

    Getting ready

    How to do it…

    How it works…

    See also

    Creating a web service test using JMeter

    Getting ready

    How to do it…

    How it works…

    There's more…

    Running JMeter on multiple servers

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Checking responses in JMeter tests

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Monitoring SOA Suite while testing

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Recording user web sessions with JMeter

    Getting ready

    How to do it…

    How it works…

    Designing advanced load tests

    Getting ready

    How to do it…

    How it works…

    There's more…

    Running performance tests from the Cloud

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    4. JVM Memory

    Introduction

    Increasing the JVM heap size

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Setting Xmx and Xms to the same value

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Setting the size of the Permanent Generation heap

    Getting ready

    How to do it…

    How it works…

    See also

    Calculating the total memory used by your application

    Getting ready

    How to do it…

    How it works…

    Viewing the memory used using JRMC for JRockit

    Getting ready

    How to do it…

    How it works…

    There's more…

    Connecting to a remote JRockit JVM

    Viewing the memory used using VisualVM for HotSpot

    Getting ready

    How to do it…

    How it works…

    There's more…

    Connecting to a remote Hotspot JVM

    Setting the size of the thread stack

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    5. JVM Garbage Collection Tuning

    Introduction

    Setting the new size

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Setting the survivor ratio

    Getting ready

    How to do it...

    How it works...

    See also

    Choosing a garbage collection algorithm in HotSpot

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Choosing a garbage collection algorithm in JRockit

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Turning on verbose garbage collection

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Tuning to reduce the number of full garbage collections

    Getting ready

    How to do it...

    How it works...

    See also

    Disabling the RMI garbage collector

    Getting ready

    How to do it...

    How it works...

    See also

    Disabling explicit GC

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    6. Platform Tuning

    Introduction

    Tuning global transaction timeouts

    Getting ready

    How to do it…

    How it works…

    See also

    Increasing the HTTP accept backlog

    Getting ready

    How to do it…

    How it works…

    There's more…

    Reducing the server logging level

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Finding out which JVM you are using

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Using large pages in Linux

    Getting ready

    How to do it…

    How it works…

    There's more…

    Increasing the number of file descriptors in Linux

    Getting ready

    How to do it…

    How it works…

    Tuning the SOA Suite EJB timeouts

    Getting ready

    How to do it…

    How it works…

    There's more…

    Upgrading to a newer JVM

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Setting the Linux kernel swappiness to low

    Getting ready

    How to do it…

    How it works…

    See also

    Using the Oracle JRockit JVM

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Running your domain in the production mode

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Creating a boot.properties file

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    7. Data Sources and JMS

    Introduction

    Setting the data source pool sizes

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Configuring data source testing

    Getting ready

    How to do it…

    How it works…

    There's more…

    Configuring data source growing and shrinking

    Getting ready

    How to do it…

    How it works…

    Setting data source connection timeouts

    Getting ready

    How to do it…

    How it works…

    Tuning database XA timeouts

    Getting ready

    How to do it…

    How it works…

    There's more…

    Tuning connections in the native EIS database adapter

    Getting ready

    How to do it…

    How it works…

    There's more…

    Configuring the WebLogic thread pool

    Getting ready

    How to do it…

    How it works…

    There's more…

    Using JMS file persistence

    Getting ready

    How to do it…

    How it works…

    There's more…

    Tuning JMS connection factories

    Getting ready

    How to do it…

    How it works…

    There's more…

    8. BPEL and BPMN Engine Tuning

    Introduction

    Tuning the dispatcher invoke threads

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Tuning the dispatcher engine threads

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Tuning the dispatcher system threads

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Disabling BPEL monitors and sensors

    Getting ready

    How to do it...

    How it works...

    There's more...

    Reducing the audit level

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Changing a BPEL process to be transient

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Reducing the completion persist level

    Getting ready

    How to do it...

    How it works...

    See also

    Disabling persistence on invocation

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Setting the audit store policy

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Reducing audit trail size threshold

    Getting ready

    How to do it...

    How it works...

    See also

    Increasing large document threshold

    Getting ready

    How to do it...

    How it works...

    See also

    Reducing SOA infra log levels

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Purging data from the BPEL store

    Getting ready

    How to do it...

    How it works...

    There's more...

    See also

    Ensuring automatic database statistics gathering is enabled

    Getting ready

    How to do it...

    How it works...

    There's more…

    See also

    Tuning Oracle database parameters

    Getting ready

    How to do it…

    How it works…

    Tuning the Oracle database

    Getting Ready

    How to do it…

    How it works…

    There's more…

    See also

    9. Mediator and BAM

    Introduction

    Setting Mediator Parallel Metrics Level

    Getting ready

    How to do it...

    How it works...

    See also

    Setting Mediator Parallel Worker Threads

    Getting ready

    How to do it...

    How it works...

    See also

    Setting Mediator Parallel Maximum Rows Retrieved

    Getting ready

    How to do it...

    How it works...

    See also

    Setting Parallel Locker Thread Sleep

    Getting ready

    How to do it...

    How it works...

    See also

    Using batched delivery in the BAM Adapter

    Getting ready

    How to do it...

    How it works...

    There's more...

    10. Rules and Human Workflow

    Introduction

    Disabling automatic release timers globally

    Getting ready

    How to do it...

    How it works...

    Choosing the correct workflow service client

    How to do it...

    How it works...

    Preventing looping and inefficient rule execution

    Getting ready

    How to do it...

    How it works...

    There's more…

    See also

    Tuning rule execution

    Getting ready

    How to do it...

    How it works...

    There's more…

    11. SOA Application Design

    Introduction

    Using BPEL process parallelization

    Getting ready

    How to do it...

    How it works...

    There's more…

    See also

    Using non-blocking service invocations in BPEL flows

    Getting ready

    How to do it...

    How it works...

    There's more…

    See also

    Turning off payload validation and composite state monitoring

    Getting ready

    How to do it...

    How it works...

    There's more…

    Designing BPEL processes to reduce persistence

    Getting ready

    How to do it...

    How it works...

    See also

    Using parallel routing rules in Mediator components

    Getting ready

    How to do it...

    How it works...

    There's more…

    See also

    Setting HTTP timeouts for external services

    Getting ready

    How to do it...

    How it works...

    See also

    Tuning BPEL adapter properties

    Getting ready

    How to do it...

    How it works...

    There's more…

    12. High Performance Configuration

    Introduction

    Configuring a cluster of SOA Suite servers

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Configuring an OHS load balancer

    Getting ready

    How to do it…

    How it works…

    See also

    Tuning for deployment on a virtualized infrastructure

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Using distributed JMS destinations in a cluster

    Getting ready

    How it works…

    How to do it…

    Using JMS bridges to improve the enqueue speed

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Choosing deployment hardware

    Getting ready

    How to do it…

    How it works…

    There's more…

    See also

    Index

    Oracle SOA Suite Performance Tuning Cookbook


    Oracle SOA Suite Performance Tuning Cookbook

    Copyright © 2013 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    First published: July 2013

    Production Reference: 1040713

    Published by Packt Publishing Ltd.

    Livery Place

    35 Livery Street

    Birmingham B3 2PB, UK.

    ISBN 978-1-84968-884-0

    www.packtpub.com

    Cover Image by Abhishek Pandey (<abhishek.pandey1210@gmail.com>)

    Credits

    Authors

    Matt Brasier

    Nicholas Wright

    Reviewers

    Sandeep Phukan

    Sylvain GROSJEAN

    Tumelo Mametsa

    Acquisition Editors

    Grant Mizen

    Antony Lowe

    Lead Technical Editor

    Susmita Panda

    Technical Editors

    Pushpak Poddar

    Rikita Poojari

    Lubna Shaikh

    Project Coordinators

    Abhishek Kori

    Wendell Palmer

    Proofreaders

    Elinor Perry Smith

    Stephen Silk

    Indexer

    Hemangini Bari

    Graphics

    Valentina D'silva

    Abhinash Sahu

    Production Coordinator

    Conidon Miranda

    Cover Work

    Conidon Miranda

    About the Authors

    Matt Brasier is a professional services consultant with 10 years of experience tuning Enterprise Java applications. He has 9 years of experience working with Enterprise Java middleware, and has always focused on the performance aspects of application servers and SOA platforms. Matt has spoken at numerous technical conferences, including The Serverside Java Symposium and JUDCon.

    Matt is the head of consulting at C2B2 Consulting Ltd., an independent middleware consultancy specializing in SOA and JEE, providing professional services on the leading Java middleware platforms. C2B2 is an Oracle Gold Partner with Application Grid Specialization.

    I would like to thank my partner, Caroline, and our dog, Minstrel, for their understanding while I was writing this book, my father for encouraging me at the start, and C2B2 for giving me the time and experience necessary to do it.

    Nicholas Wright is a Java middleware consultant and technical evangelist with 9 years of experience from Embedded C real-time systems to Enterprise Java. He has served on a Java Community Process Expert Group, and spoken at conferences across the world.

    Nick is a senior consultant at C2B2 Consulting Ltd., where he works with a wide range of commercial and open source JEE and SOA middleware platforms.

    I would like to thank my family, friends, and colleagues for whom I have disappeared off the face of the Earth while working on this book. For your patience and understanding, I thank you. Mostly I must thank my partner, Kay Louise, for putting up with my continual slaving over a computer whenever I have any spare time, love you.

    About the Reviewers

    Sandeep Phukan has more than 9 years of experience in Integration Technologies and Java. Sandeep currently works as a Senior Consultant with Anatas Technology Services, Sydney, a leader in next generation Enterprise Architecture Solutions. Earlier, Sandeep worked as a Technical Lead for Nokia Siemens Network R&D, Bangalore, assisting on the integration of Next Generation Unified Convergent Billing Systems based on Oracle Fusion Middleware 11g.

    Prior to this, Sandeep worked with Oracle SSI, Bangalore as a Senior Consultant, where his key involvement was Oracle AIA for Communications (Telco PIP). During this period he travelled to several countries around the world, aiding customers in developing customizations for Oracle AIA artifacts.

    Sandeep is a certified Java Developer and has a keen interest in Low Bandwidth Transports and Distributed Algorithms. During his time at Oracle SSI, Sandeep was actively involved with the SSI Innovation Centre where he created a number of utility extensions to the Oracle SOA Suite. Sandeep also maintains an open source repository of several SOA utilities in the Google code repository http://code.google.com/p/soalabs/.

    Sandeep is also an avid researcher in the area of SOA Governance. He has published a number of papers in the Oracle Technology Network (OTN) on technology neutral Designtime Dependency analysis of SOA Artifacts. One of his inventions on this subject (Graph Based Designtime Dependency Analysis) has recently been accepted for a Patent in the US Patents and Trademarks Office (USPTO).

    I would like to thank my loving wife Aparupa for her patience during those late night researches, and my friends and colleagues at Anatas who were always there whenever I needed them.

    Sylvain GROSJEAN is a principal Oracle Fusion Middleware consultant currently working as a freelancer in France.

    Over the past 12 years, he collaborated with BEA, and then with Oracle Consulting as a solution architect and trainer helping multiple major French clients (Utilities, Transportation, Insurance, Healthcare, Telecom).

    His primary focus is on Oracle Service Bus, Oracle SOA Suite, Oracle BPM, and ADF.

    You can follow Sylvain through his own blog at http://sgrosjean.blogspot.com

    Tumelo Mametsa is an Oracle Fusion Middleware expert currently consulting on various projects in South Africa and other African countries. He has over 10 years of experience in the Electronics and IT fields, respectively, with increasing level of responsibility. He is currently providing senior leadership for solutions architecture, enterprise architecture, business process engineering efforts, including SOA and Open Source Solutions for Africom IT Solutions.

    His focus is on engineered systems using various technologies, primarily the Oracle Fusion Middleware Stack. He also provides training for Oracle on Oracle Fusion Middleware Products.

    To my extended, supportive, loving Mametsa family (Mpho, Stlaks, Tshepo, Nunu, Letsie, Gontse), thanks for always being there for me. Much love to my darling wife Tsakani and kids, Tumisa, and Seetja. You guys make everything worthwhile. Thanks to my partners at Africom IT Solutions, you are the best team to work with by far. Much appreciation to all my friends (the Zoo) for individually supporting me in your unique ways, without you guys I would not be able to expertly juggle so many balls.

    www.PacktPub.com

    Support files, eBooks, discount offers and more

    You might want to visit www.PacktPub.com for support files and downloads related to your book.

    Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at for more details.

    At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

    http://PacktLib.PacktPub.com

    Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books. 

    Why Subscribe?

    Fully searchable across every book published by Packt

    Copy and paste, print and bookmark content

    On demand and accessible via web browser

    Free Access for Packt account holders

    If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.

    Instant Updates on New Packt Books

    Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page.

    Preface

    Oracle SOA Suite 11g forms the basis of the SOA infrastructure for many organizations. While there is a wealth of information on administering SOA Suite applications already available, there is very little independent information available regarding performance tuning. With the chief goal of software and hardware vendors being to sell more licenses and hardware, the topic of getting the most from your existing investment often falls by the wayside. This book aims to address that by giving clear, concise, and simple recipes that will help you identify performance bottlenecks in your application, and then resolve them.

    We work from the ground up, starting with how to identify common SOA Suite 11g performance problems and introducing the tools that you need, and working up the stack through JVM tuning and application server tuning, before covering the BPEL, BPMN, and mediator stacks. Finally, we have chapters on application design and deployment considerations.

    What this book covers

    Chapter 1, Identifying Problems, starts out by looking at some of the common performance problems that can occur in the Oracle SOA Suite applications, and how to identify them. We look at using a variety of tools to understand what is going on inside the JVM, and to identify the particular resource bottleneck that is causing poor performance.

    Chapter 2, Monitoring Oracle SOA Suite, looks at how we can use the VFabric Hyperic tool from VMWare to monitor the performance of our SOA Suite infrastructure, and what metrics we should be keeping an eye on.

    Chapter 3, Performance Testing, looks at using the Apache JMeter tool to solve performance problems, by triggering them.

    Chapter 4, JVM Memory, starts right at the bottom of the Oracle SOA Suite 11g stack. We look at how JVM memory is allocated, and how you can increase and decrease the memory available to your application, as well as other JVM tuning tips. The low-level areas of Oracle SOA Suite are often overlooked, so we cover the basics of Java memory management in enough detail to give those unfamiliar with it sufficient background to understand what they need to be concerned about.

    Chapter 5,

    Enjoying the preview?
    Page 1 of 1