Operating a WebSphere Process Server environment, Part 5: Performance tuning resources for WebSphere Process Server and IBM BPM solutions

Part 5 of this multi-part article series contains useful references on tuning a WebSphere® Process Server or IBM® BPM solution.

Share:

Susan Herrmann (susan.herrmann@de.ibm.com), Software Engineer, IBM

Photo of Susan HerrmannSusan Herrmann is a Software Engineer at the IBM Research and Development Lab in Boblingen, Germany. She has 10 years of experience in the areas of Business Integration and Business Process Management. She joined the WebSphere Business Process Management Development team in 2004. Since 2006, she is a member of the Business Process Management SWAT team, advising customers on best practices and providing vital support in numerous critical customer situations worldwide. Susan has an Engineering degree in Information Technology and joined IBM in 2001.



09 November 2011

Introduction

Every IT department strives for maintaining a healthy production environment for their systems. Proven stability and performance are key measures for a well-operated production environment. WebSphere Process Server (hereafter called Process Server) and its successor, IBM Business Process Manager (BPM), provide a platform to create and implement BPM solutions.

A fundamental part of creating a BPM solution is to meet its functional requirements. Another integral part of a BPM project is to ensure that the system performance, once the BPM solution is deployed to production, meets its respective service level agreements.

In reality, performance engineering frequently falls short in development project plans. This results in systems failing to meet user expectations in the context of performance. Richard Metzger depicts in his BPM and SOA performance article various studies on this topic. "Factors inhibiting performance and scalability", for example, identifies various areas that inhibit performance targets. In 16 analyzed cases, only about 35% were vendor product and environment related, and 65% were application related. Out of these 65%, 45% were related to backend resources, 18% to customer application setups, and 36% to customer code. These numbers highlight the importance of including performance considerations during the whole life cycle of a BPM project.

This article contains links to documents on how to tune a Process Server or BPM solution and refers to information resources that discuss performance tuning steps.


General tuning methodology

Performance tuning is typically an iterative process that starts with the throughput or response time requirements for the BPM solution. These requirements are typically retrieved from service level agreements. The aim of the performance engineering is to meet these defined service level agreements.

The process to get there is an iterative one, which includes repeated performance testing, identification of bottlenecks in the system, and applying changes to remove those bottlenecks. These can be application design or configuration changes, such as in the infrastructure, database, or environment. Testing, identifying bottlenecks, and applying changes are repeated until the performance requirements are met.

The Performance Tuning Worksheet provides practical guidance on performance tuning a Process Server or BPM system. It includes a sample worksheet showing how to apply performance tuning principles.


Optimizing the application design for performance

Continuous engineering in the context of performance should have already taken place during the application design and development phase in the project. IBM provides information about application design best practices for optimized performance through a series of performance tuning IBM Redpapers for various product releases:

You can refer to the architecture and development best practices outlined in Chapter 1 and 2 of those Redpapers as the first step towards a performance optimized system.


Tuning the operating and database systems

The next step is optimizing the infrastructure, backend databases, and environment in order to meet the performance objectives. First of all, the operating system and backend database performance must be tuned. Valuable information for this step are found in, but not limited to, the following resources:


Tuning the BPM environment

Once the application design and the infrastructure are optimized, the BPM environment, such as Process Server or BPM, need to be tuned. What to tune and how to tune usually depends on the solution that is being executed on this BPM environment. Important system parameters to take measurements and apply changes on are typically:

  • JVM heap usage and garbage collection policies
  • Thread pools
  • Connection pools
  • Messaging components like connection factories and activation specs

There are generally two major kinds of BPM solution types: response time and throughput focused solutions.

General information on tuning the BPM environment is provided in Optimizing the application design for performance, Chapter 3: Performance tuning and configurations.

In addition, the Information Center provides valuable information on this topic, IBM Business Process Manager V7.5: Tuning.


Response time focused BPM solutions

User interactions with a BPM system are typically response time focused scenarios. A user is, for example, working on a task or task list within the BPM system and using a built-in or custom user interface. He typically waits for a response during his interaction with the BPM system via this user interface. The time required to provide that response is critical for such a response time based scenario.

Process Server and BPM provide built-in user interfaces such as Business Space or the Business Process Choreographer Explorer. There is also a variety of APIs available for creating custom clients. These clients are critical components that typically need to be included into performance tuning activities. Performance engineering for response time focused scenarios concentrates on tuning the solution for delivering fast response times for all user interactions.

More information on tuning response time focused scenarios is found in the following resources:

Tuning built-in clients:

Optimizing custom client applications:


Throughput-focused BPM solutions

Straight through processing of business transaction without human interaction is a typical example for a throughput-focused BPM solution. It is important to process a defined number of business transactions per a defined time period. Performance engineering for such scenarios would focus on tuning the solution for processing as many business transactions as possible in a defined period of time.

Information about tuning throughput-focused scenarios is found in the following resources:


Conclusion

Performance tuning is an iterative process that typically involves:

  • Changing the application design
  • Tuning the infrastructure and backend databases
  • Tuning the BPM environment

This article provided information resources on performance tuning that you can reference for your WebSphere Process Server or BPM solution.


Acknowledgements

The author would like to thank Andrew Tharp, Dominik Meyer, Karri Carlson-Neumann, Ryan Claussen, Wendy Butt, Gary Hunt, and Richard Metzger for reviewing the article and providing valuable comments.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=772930
ArticleTitle=Operating a WebSphere Process Server environment, Part 5: Performance tuning resources for WebSphere Process Server and IBM BPM solutions
publish-date=11092011