ibm integration bus (iib) performance testing techniques

46
IBM Software Group ® WebSphere ® Support Technical Exchange IBM Integration Bus (IIB) Performance Testing Techniques Paul Faulkner ([email protected] ) Certified IT Specialist March 29 th 2016 IBM ®

Upload: others

Post on 02-Dec-2021

22 views

Category:

Documents


4 download

TRANSCRIPT

IBM Software Group

®

WebSphere® Support Technical Exchange

IBM Integration Bus (IIB)Performance Testing Techniques

Paul Faulkner ([email protected])Certified IT SpecialistMarch 29th 2016

IBM®

IBM Software Group

2

Agenda

- Part 1:

- Why Performance Test

- When to Test

- Testing Strategies

- Part 2:

- Tools

- Part 3:

- Example Use Cases

IBM Software Group

Why Performance Test

Determine resource usage of application based on

planned production load

Determine if application has linear scalability

This will help with predicting future resource

requirements

Identify application issues under load

DB connection issues

Memory consumption under load

Bottlenecks

3

IBM Software Group

When to test

Prior to deploying to production:

All new applications prior to deploying into

production

Major application changes

Design changes to applications which utilize

new nodes, Databases, etc.

4

IBM Software Group

Testing Strategies

Unit tests or Prototypes

Isolation

End to End

5

IBM Software Group

Tools Load tools

IBM and external tools

Monitoring and Analysis

Accounting and Statistics

Resource Statistics

Operating System

MQ statistics and tools

6

IBM Software Group

IBM Perform Harness

Common Parameters

sl - sleep time in milliseconds between sending each message

nt - Number of WorkerThreads

rl - Run length in seconds. Setting this to 0 will disable the timer

and run forever.

rt - Desired rate (operations/sec). If this rate is greater than the

maximum achievable, the behaviour is such that it runs as fast

as possible. A value of 0 means to always run as fast as

possible.

mg - Fixed number of iterations to run. The default setting of 0

means there is no limit.

Tool comes with documentation

Java™ based tool run from command line (there is no GUI)

Parameter base

7

IBM Software Group

MH04 Support Pack – MQ utility

Java based tool run from command line (there is no GUI)

Parameter based

8

IBM Software Group

IIB WebUI

Administrate Workload Management

Policies

9

IBM Software Group

IIB WebUI

Apply policy to dynamically change number of instances

10

IBM Software Group

IIB WebUI

Enable Accounting and Statistics

11

IBM Software Group

IIB WebUI

Enable Resource Statistics

12

IBM Software Group

Accounting and Stats

Accounting and Statistics captures performance metrics for

applications, flows, and nodes.

Can be used to:

-Identify bottlenecks

-View performance of a particular node

-View overall performance of a flow

Enable stats from WebUI or command line:

mqsichangeflowstats <Node> -s -g -j -n advanced -t basic -b basic -c active -o xml

13

IBM Software Group

Accounting and Stats - WebUI

14

IBM Software Group

Accounting and Stats – IS03 Support Pack

15

IBM Software Group

Resource Stats

Resource stats can be used to view resource metrics of the

system for an Integration Server

Can be used to:

-Identify potential issues for resource use across an

Integration Server.

Enable stats from WebUI or command line:

mqsichangeresourcestats <IntegrationNode> -e <Integration Server> -c active

16

IBM Software Group

Resource Stats - WebUI

17

JVM™, JDBC™, JMS™

IBM Software Group

Example Use Cases

18

IBM Software Group

Example Test Case – Unit Testing

Test Case

- Compare performance of multiple transformation strategies

using ESQL and Graphical Data Map for same

transformation

Show use of:

- PerformHarness tool

- Accounting & Stats (with IS03)

19

IBM Software Group

Example Test Case – Unit Testing

First a look at the scenario-Simple flow which converts a large CSV input

message into an ordered XML structure

-Uses 2 different ESQL coding practices and 1

GDM

-Output is identical in all cases

20

IBM Software Group

Example Test Case – Unit Testing

21

Transformed to ->

CSV XML

IBM Software Group

Example Test Case – Unit Testing

22

Code snippet from BuildOutputXML compute node

IBM Software Group

Example Test Case – Unit Testing

23

Code snippet from BuildOutputXMLFast compute node

IBM Software Group

Example Test Case – Unit Testing

24

Graphical Data Map

IBM Software Group

Example Test Case – Unit Testing

25

1.Deploy flow

2.Enabled Accounting and Stats collectionmqsichangeflowstats <Broker> -s -g -j -n advanced -t basic -b basic -c active -o xml

3.Start load testjava JMSPerfHarness -tc mqjava.Sender -d TEST.PERF.IN -jb BK10 -jh localhost

-jc SYSTEM.BKR.CONFIG -jp 2222 -mf C:\IBMWork\TestMessages\TestIn1.txt -ss 5 -nt 1

-rl 300 -rt 150

4. Using IS03 or WebUI review metrics collected per

node

IBM Software Group

Example Test Case – Unit Testing

26

IS03 Graphical

View

IBM Software Group

Example Test Case – Unit Testing

27

IS03 Tabular View

IBM Software Group

Example Test Case – Unit Testing

28

Summary

-Style of code matters

-Choice of nodes

-Decision should be based on the requirements of your

application

-We saw how to use tools to run a load test and analyze

the results

IBM Software Group

Example Test Case – Linear Scaling

Test Case

-Demonstrate how to run multiple tests to analyze for linear

scaling

Show use of:

-PerformHarness tool

-MQ thru-put (with MH04)

-System tools to look at CPU

29

IBM Software Group

Example Test Case – Linear Scaling

First a look at the scenario-Simple flow which converts a large CSV input

message into an ordered XML structure

30

IBM Software Group

Example Test Case – Linear Scaling

31

1.Deploy flow (with default 1 instance)

2.Start load testjava JMSPerfHarness -tc mqjava.Sender -d TEST.PERF.IN -jb BK10 -jh localhost

-jc SYSTEM.BKR.CONFIG -jp 2222 -mf C:\IBMWork\TestMessages\TestIn1.txt -ss 5 -nt 1

-rl 300 -rt 150

3.Capture results

- Use MH04 to monitor queue thru put

- Use system tools to monitor CPU and memory

4.Increase number of instances and repeat step3

5.Repeat step 4 until desires TPS has been met

IBM Software Group

Example Test Case – Linear Scaling

32

IBM Software Group

Example Test Case – Linear Scaling

33

Summary

-Use the results to validate performance requirements

-Predict future system requirements

-Identify bottlenecks

IBM Software Group

Example Test Case – Isolation and JDBC

Test Case

- Application consumes XML messages and calls a Database to

insert data via JDBC. A call is then made to a Web Service to

retrieve additional data.

Show use of:

- PerformHarness tool

- Resource Stats (using WebUI)

- Demonstrate the use of Stub flows for a Web Service

34

IBM Software Group

Example Test Case – Isolation and JDBC

First a look at the scenario-Simple flow which consumes XML message

from MQ

-Uses Java Compute node to insert data to

Database via JDBC

-Consumes a Web Service using SOAP nodes

-Outputs result to another MQ queue

35

Important note: I am using consecutive Java and ESQL nodes for

demonstrations purposes only. We don’t typically recommend consecutive

compute nodes because of the performance overhead.

IBM Software Group

Stub application

36

IBM Software Group

Example Test Case – Isolation and JDBC

37

1.Deploy flow (already configured to use 15 instances)

2.Start load testjava JMSPerfHarness -tc mqjava.Sender -d TEST.PERF.MT.DB.PROC -jb BK10 -jh localhost -

jc SYSTEM.BKR.CONFIG -jp 2222 -mf C:\IBMWork\TestMessages\DBRequest.xml -ss 5 -nt 1

-rl 300 -rt 20

3.Capture results

- Use MH04 to monitor queue thru put

- Use Resource Stats to monitor JDBC pooling

IBM Software Group

Example Test Case – Isolation and JDBCJDBC Resource

38

IBM Software Group

Example Test Case – Isolation and JDBCJVM Resource

39

IBM Software Group

Example Test Case – Isolation and JDBC

40

Summary

-Use the results to validate system resources used by my

application

-The use of a stub application to simulate my external

web service

IBM Software Group

Performance Testing Considerations

Allow time for ramp up before gather data.

Allow the test to run for an adequate period of time.

Some issues will not be encountered in a short 20-

30 minute test so run for longer periods after initial

metrics have been established.

Ensure your results are as expected (ie. If you are

expecting a valid response, make sure this is the

case).

41

IBM Software Group

42

Summary

Use a combination of tools and techniques

Understand your results and requirements

Save results and repeat tests as code changes

IBM Software Group

ReferencesToolsIBM PerformHarnesshttps://www.ibm.com/developerworks/community/groups/service/html/communityview?communi

tyUuid=1c020fe8-4efb-4d70-afb7-0f561120c2aaz

Support PacksMH04 - MQ Tool http://www.ibm.com/support/docview.wss?uid=swg24025857

IS03 – IIB Accounting and Statistics toolhttp://www.ibm.com/support/docview.wss?uid=swg24030716

MS0P – MQ Accounting and Statistics pluginhttp://www.ibm.com/support/docview.wss?uid=swg24011617

BlogsJDBC Connection poolinghttps://developer.ibm.com/integration/blog/2015/11/16/ibm-integration-bus-jdbc-connection-pooling-2/

43

IBM Software Group

44

Connect with us!

1. Get notified on upcoming webcastsSend an e-mail to [email protected] with subject line “wste

subscribe” to get a list of mailing lists and to subscribe

2. Tell us what you want to learnSend us suggestions for future topics or improvements about our

webcasts to [email protected]

IBM Software Group

45

Questions and Answers

IBM Software Group

46

Additional WebSphere Product Resources

Learn about upcoming WebSphere Support Technical Exchange webcasts, and access previously recorded presentations at:http://www.ibm.com/software/websphere/support/supp_tech.html

Discover the latest trends in WebSphere Technology and implementation, participate in technically-focused briefings, webcasts and podcasts at:http://www.ibm.com/developerworks/websphere/community/

Join the Global WebSphere Community: http://www.websphereusergroup.org

Access key product show-me demos and tutorials by visiting IBM Education Assistant:http://www.ibm.com/software/info/education/assistant

View a webcast replay with step-by-step instructions for using the Service Request (SR) tool for submitting problems electronically:http://www.ibm.com/software/websphere/support/d2w.html

Sign up to receive weekly technical My Notifications emails:http://www.ibm.com/software/support/einfo.html