IBM Integration Bus (IIB)
Performance Testing Techniques
Paul Faulkner ( )
Certified IT Specialist
March 29" 2016
oTES eret
Agenda
- Part:
- Why Performance Test
- When to Test
- Testing Strategies
~ Part 2:
- Tools
- Part 3:
- Example Use CasesTES eret
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
» BottlenecksWhen 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.TES eret
Testing Strategies
= Unit tests or Prototypes
= Isolation
» End to EndTES eret
Tools
= Load tools
» IBM and external tools
* Monitoring and Analysis
» Accounting and Statistics
» Resource Statistics
» Operating System
» MQ statistics and toolsTES eret
IBM Perform Harness
= Tool comes with documentation
= Java™ based tool run from command line (there is no GUI)
= Parameter base
Common Parameters
sl- sleep time in milliseconds between sending each message
nt - Number of WorkerThreads
1 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.Java based tool run from command line (there is no GUI)
Parameter based
\system32\ct
ery
erry
err
rey
rr
EE
eer)
Te
er)
ed
Tet
ret
8
7IIB WebUI
= Administrate Workload Management
Policies
~ BaKi0
> Bsenves ©
~ fi Operational Potey
1: Configurable Senices ©IIB WebUI
= Apply policy to dynamically change number of instances
“8 ProductDetailsStub - Message Flow
@Ovenew —[Sutstes # Operaonal Petey
stares
= Node PolesIIB WebUI
= Enable Accounting and Statistics
Flow analysisIIB WebUI
= Enable Resource Statistics
= ener et
Downer — foReoucesutwies — fuSanses
Resource analysis
jymttene 8)TES eret
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:
masichangeflowstats
-s -g -j -n advanced -t basic -b basic -c active -o xmlAccounting and Stats - ‘WebUlTES eret
Accounting and Stats — ISO3 Support Pack
[om wat ied us altaya |S RT [atop
Tine ot icins ——Toetpetine Tel Une Avenged ne erm.
twain b 6
[4:25:58.205002 4 173 ba
Laas D 0
a
asians 0 a 7
D)- SG;TES eret
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:
masichangeresourcestats -e -c active
=Resource Stats - WebUI
ave, JDBC™, JMS™TES eret
Example Use CasesTES eret
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)
a): 5Example Test Case — Unit Testing
First a look at the scenario :
-Simple flow which converts a large CSV input Kn ———ak
message into an ordered XML structure
TeSTPEREOUT
Uses 2 different ESQL coding practices and1 J@ tl
GDM
“ar
-Output is identical in all cases ‘\—eutcoupuomancom
\i}
DieseTES eret
Example Test Case — Unit Testing
—
Pe
“eam
1 erent
1 amen
2a 8 emens
8,75,5,4,5,308 1 semen?
10,358, 760508032201 ie sement
fe sensed
1 Semenaet0
1s Senge0
Seamed
fs Suchet
fs Sched
| estar
elmer
‘seemens
Selmer
Seemens
leemenTES eret
Example Test Case — Unit Testing
Code snippet from BuildOutputXML compute node
ate Lastove(rinsep) Do —~iah
te outa conor
SEr toto
SEF autor se Aegnt.seroturleerucieian| sleet? : 2 a
SE putons st tennre seroeueloeruc see. elenene>
SEF Spates se Aeqnt.ervsuretesraciian|clenret Devoe stro?
SE tutor suse emer. seroturelesruc@iae. elements
SEF Spates se eqns eresuretefsracieson| clement cn, al
SEF exhutnort muse Acqest.strecturetelstecaoiod el =——_ at,
SEr otontont Se ement. SeroctiettrvelOsoe oenaneco
SEF Oaqutnont se Aeqett. strcturtesructiae) el
SEF Suton lst ennetstrvoielelstuebsen.elenne0'= inten retneype. els “ee
SET struct = struceldx + 35
SEr utpttor se tense strvtuetlstrueid cent + ron recone Eels
SET Outputtoot HUIS Request Structured strucbide] element® = rintep-recordlype?. ell
YONE rlnkep MEXTSTBLIMG,
fo weesTES eret
Example Test Case — Unit Testing
Code snippet from BuildOutputXMLFast compute node
Kon it
Ser ouput use east =
steer
Sieiertype sonnet tthe) Ie
cn es a
p.recordTypel.field2 AS elenent2,
‘Intep.recordiypel field) AS element, {=} ‘ak
‘Tnkep.recordtypelflelge AS elenent, estou
ae. recor dpe fel AS elem sutsormsoncon
ineprecordypel elele AS elenrei0
Ron Inputoot DFO -RejuestBessage.repesting(] AS rinRep WERE rIaRep.recondTypel.field1 = 18) AS Structurelo(),
euect
roy tnpticat OC Reiuestessoge
ing] AS rInkep WHERE rioRep.recondiype2. eld = 8) AS Structores(]
FROM Toputhoot OF RequestRessage.header AS rineader);TES eret
Example Test Case — Unit Testing
Graphical Data Map
E won Buladoacou
“Mconewy Madoc SS) HR X ER BEV BESAR
oo mange any ao
“Pcixtomer» “> ciatomer>
10.2} PropertesType “aMove ~ = # Properties 10.1} PropertesType
a1 ona 2itenat—fht tronme
{ial aoe + one ‘nat sine
fue ee ces
tel + Raisnenset eA ston
11am
{13} ome a
vemeae4 2 a
i eveing te epg a Kane ol
le 2 -ab
STRa/n anaes sro?TES eret
Example Test Case — Unit Testing
|.Deploy flow
2.Enabled Accounting and Stats collection
masichangeflowstats -s -g -j -n advanced -t basic -b basic -c active -o xml
3.Start load test
java JMSPerfHamess -tc majava.Sender -d TEST.PERF.IN -jb BK10 -jh localhost
je SYSTEM.BKR.CONFIG -jp 2222 -mf C:\IBMWork\TestMessages\Testin1.txt -ss 5 -nt 1
rl 300 -rt 150
4. Using S03 or WebUI review metrics collected per
nodeTce
Example Test Case — Unit Testing
ISO3 Graphical eeTES eret
Example Test Case — Unit Testing
1S03 Tabular View
#) eaoupa
‘uldOutputxMLFast | TEST.PERF.OUT2 | BuldOutputXML.GDM | TEST.PERF.OUT3 | Discardérrors|
Total CPU time ‘Average elapsed time per m..._ Average CPU time per mess
ies79107 7868 917
[2820263 17758 3938
2964464 7754
2) sasepnit ree
| BuildOutpub