Post on 23-May-2018
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Free Load Testing Tools for
Oracle Database16 Nov 2016, DOAG Konferenz, Nurnberg (D)
Christian Antognini
@ChrisAntognini
Our company.
Free Load Testing Tools for Oracle Database – Which One Do I Use?2 16/11/2016
Trivadis is a market leader in IT consulting, system integration, solution
engineering
and the provision of IT services focusing on and
technologies
in Switzerland, Germany, Austria and Denmark. We offer our services in the
following strategic business fields:
O P E R A T I O N
COPENHAGEN
MUNICH
LAUSANNE
BERN
ZURICH
BRUGG
GENEVA
HAMBURG
DÜSSELDORF
FRANKFURT
STUTTGART
FREIBURG
BASEL
VIENNA
With over 600 specialists and IT experts in your region.
Free Load Testing Tools for Oracle Database – Which One Do I Use?3 16/11/2016
14 Trivadis branches and more than
600 employees
200 Service Level Agreements
Over 4,000 training participants
Research and development budget:
CHF 5.0 million
Financially self-supporting and
sustainably profitable
Experience from more than 1,900
projects per year at over 800
customers
16/11/2016 Free Load Testing Tools for Oracle Database – Which One Do I Use?4
Technology on its own won't help you.You need to know how to use it properly.
@ChrisAntognini
Free Load Testing Tools for Oracle Database – Which One Do I Use?5 16/11/2016
Senior principal consultant, trainer and partner at Trivadis
christian.antognini@trivadis.com
http://antognini.ch
Focus: get the most out of Oracle Database
Logical and physical database design
Query optimizer
Application performance management
Author of Troubleshooting Oracle Performance (Apress, 2008/14)
OakTable Network, Oracle ACE Director
Agenda
Free Load Testing Tools for Oracle Database – Which One Do I Use?6 16/11/2016
1. Introduction
2. Free Load Testing Tools I Use
3. Summary
Free Load Testing Tools for Oracle Database – Which One Do I Use?7 16/11/2016
Introduction
Common Situations Leading to Database Load
Generation
Free Load Testing Tools for Oracle Database – Which One Do I Use?8 16/11/2016
Perform usability and functionality checks of tools or utilities that require a
non-trivial load to be carried out
Assess the performance of a (new) platform or storage subsystem
Verify whether a set of SQL statements executed on a specific environment
and/or configuration fulfils the expected performance requirements
Golden Rule
Free Load Testing Tools for Oracle Database – Which One Do I Use?9 16/11/2016
Use the right tool
for the right job!
Free Load Testing Tools in My Toolbox
Free Load Testing Tools for Oracle Database – Which One Do I Use?10 16/11/2016
Swingbench
The Silly Little Oracle Benchmark (SLOB)
Apache JMeter
Free Load Testing Tools for Oracle Database – Which One Do I Use?11 16/11/2016
Swingbench
What’s Swingbench?
Free Load Testing Tools for Oracle Database – Which One Do I Use?12 16/11/2016
Load generator designed to stress test Oracle Database
Includes four configurable synthetic benchmarks
OrderEntry, SalesHistory, CallingCircle and StressTest
Extensible with user-defined transactions (StressTest provides an example)
Consists of several CLI and GUI utilities
Developed by Dominic Giles
Available at http://www.dominicgiles.com/swingbench.html
What Can Swingbench Do?
Free Load Testing Tools for Oracle Database – Which One Do I Use?13 16/11/2016
Carry out, with minimal effort, all necessary operations to run one of the four
provided benchmarks
Create test schema (incl. data population)
Generate load
Store key performance indicators about test run
Swingbench Key Components – Setup
Free Load Testing Tools for Oracle Database – Which One Do I Use?14 16/11/2016
Three wizards, that also expose a CLI, are available: OrderEntry, SalesHistory
and CallingCircle
StressTest doesn’t have a wizard because it requires no setup
XML file config dataoewizard
shwizard
ccwizard
Swingbench Key Components – Load Generation
Free Load Testing Tools for Oracle Database – Which One Do I Use?15 16/11/2016
swingbench
minibench
charbench
XML file
XML fileresults2pdf
PDF file
config
load KPI
Swingbench: Demo
Free Load Testing Tools for Oracle Database – Which One Do I Use?16 16/11/2016
Swingbench: Example of Utilization (1)
Free Load Testing Tools for Oracle Database – Which One Do I Use?17 16/11/2016
Purpose
Observe the impact of a vMotion
started while a database server
is subject to a non-trivial load
Benchmark
OrderEntry, scale 10
900 transactions/second
Swingbench: Example of Utilization (2)
Free Load Testing Tools for Oracle Database – Which One Do I Use?18 16/11/2016
0
20
40
60
80
13:5
8:0
8
13:5
8:1
8
13:5
8:2
8
13:5
8:3
8
13:5
8:4
8
13:5
8:5
8
13:5
9:0
8
13:5
9:1
8
13:5
9:2
8
13:5
9:3
8
13:5
9:4
8
13:5
9:5
8
14:0
0:0
8
14:0
0:1
8
14:0
0:2
8
14:0
0:3
8
14:0
0:4
8
14:0
1:0
2
14:0
1:1
3
14:0
1:2
3
14:0
1:3
3
14:0
1:4
3
14:0
1:5
3
14:0
2:0
3
14:0
2:1
3
14:0
2:2
3
14:0
2:3
3
AA
S
Time
vMotion took 79 seconds
Free Load Testing Tools for Oracle Database – Which One Do I Use?19 16/11/2016
The Silly Little Oracle Benchmark
(SLOB)
What’s SLOB?
Free Load Testing Tools for Oracle Database – Which One Do I Use?20 16/11/2016
Platform performance and stability-testing framework that
makes Oracle Database execute SQL statements
Synthetic benchmark
Consists of a few scripts
Developed by Kevin Closson
Available at https://kevinclosson.net/slob/
What Can SLOB Do?
Free Load Testing Tools for Oracle Database – Which One Do I Use?21 16/11/2016
Create one or several test schemas (incl. data population)
Generate load
Random PIO and/or LIO
Read only or read write
Lite or heavy redo generation
Store DB as well as OS key performance indicators about test run
SLOB Key Components – Setup
Free Load Testing Tools for Oracle Database – Which One Do I Use?22 16/11/2016
slob.conf config datasetup.sh
SLOB Key Components – Load Generation
Free Load Testing Tools for Oracle Database – Which One Do I Use?23 16/11/2016
runit.sh
slob.conf
AWR
reports
iostat
mpstat
vmstat
awr_info.sh
text file
config
load
SLOB: Demo
Free Load Testing Tools for Oracle Database – Which One Do I Use?24 16/11/2016
SLOB: Example of Utilization (1)
Free Load Testing Tools for Oracle Database – Which One Do I Use?25 16/11/2016
Purpose
Find out the maximum number
of random IOPS (and their
average latency) that a storage
subsystem can sustain
Benchmark
100GB
Read-only PIO/LIO
SLOB: Example of Utilization (2)
Free Load Testing Tools for Oracle Database – Which One Do I Use?26 16/11/2016
72563
93546
103718 103299 101258
48 64 96 128 160
Ph
ysi
cal
Read
s p
er
Seco
nd
Sessions
2.9 2.8 4.0 5.2 6.3
31 33
44
60
78
48 64 96 128 160
Late
ncy i
n M
illi
seco
nd
s
Sessions
db file sequential reads db file parallel reads
Free Load Testing Tools for Oracle Database – Which One Do I Use?27 16/11/2016
Apache JMeter
What’s JMeter?
Free Load Testing Tools for Oracle Database – Which One Do I Use?28 16/11/2016
Application designed to load test functional behavior and measure
performance
No out-of-the box benchmark available DIY
Consists of several CLI and GUI utilities
Open source project supported by a number of contributors
Available at http://jmeter.apache.org/
What Can JMeter Do?
Free Load Testing Tools for Oracle Database – Which One Do I Use?29 16/11/2016
Many things!
For the intent of this presentation:
Execute SQL statements
through JDBC
Verify whether the executions
return the expected output
and/or in the expected time
Store key performance
indicators
But it’s “only” a framework… it requires
time to “code” a benchmark
Use real schema with data
Use the SQL statements to be
verified
– Bind variables can be either
generated or provided as input
SLOB Key Components – Load Generation
Free Load Testing Tools for Oracle Database – Which One Do I Use?30 16/11/2016
front end
GUI/CLI
test plan
user
defined
output
text file
config
loadKPI
log
JMeter: Demo
Free Load Testing Tools for Oracle Database – Which One Do I Use?31 16/11/2016
JMeter: Example of Utilization (1)
Free Load Testing Tools for Oracle Database – Which One Do I Use?32 16/11/2016
Purpose
Verify that a set of queries
performs acceptably under load
Verify that the DB server
supports the expected load
Benchmark
33 distinct queries, each with each
own set of bind variable values,
randomly picked out
100 queries/minute
JMeter: Example of Utilization (2)
Free Load Testing Tools for Oracle Database – Which One Do I Use?33 16/11/2016
0
500
1000
1500
2000
2500
3000
3500
4000
407
408
503
114
303
111
115
112
308
101
301
117
204
113
118
105
306
116
505
120
201
504
304
305
307
404
403
401
501
203
202
502
302A
ve
rag
e E
lap
se
d T
ime
[m
s]
Query
JMeter: Example of Utilization (3)
Free Load Testing Tools for Oracle Database – Which One Do I Use?34 16/11/2016
AAS during a period of 13 minutes
Free Load Testing Tools for Oracle Database – Which One Do I Use?35 16/11/2016
Summary
Comparison
Free Load Testing Tools for Oracle Database – Which One Do I Use?36 16/11/2016
Swingbench SLOB JMeter
Can generates load forOracle
Database
Oracle
Database
any DB with
JDBC support
Synthetic benchmark
User-defined benchmark ()
Effort to implement minimal minimal low high
GUI
CLI for automation with scripts
Distributed load generation
Tool of Choice for Common Situations Leading to
Database Load Generation
Free Load Testing Tools for Oracle Database – Which One Do I Use?37 16/11/2016
Perform usability and functionality checks of tools or utilities that require a
non-trivial load to be carried out
Swingbench
Assess the performance of a (new) platform or storage subsystem
SLOB
Verify whether a set of SQL statements executed on a specific environment
and/or configuration fulfils the expected performance requirements
Apache JMeter
Summary
Free Load Testing Tools for Oracle Database – Which One Do I Use?38 16/11/2016
No single tool can cover all
requirements
If used correctly, Swingbench and
SLOB are simple and effective tools
To run a specific set of SQL
statements don’t spend time build
your own script/tool, use JMeter
Questions and Answers
Christian Antognini
Senior Principal Consultant
christian.antognini@trivadis.com
@ChrisAntognini
16/11/2016 Free Load Testing Tools for Oracle Database – Which One Do I Use?39