Zijn performantietesten noodzakelijk voor je project? Hoe begin je eraan? Welke kennis, tools en ervaring heb je nodig of moet je inhuren? Verschilt de aanpak voor een online applicatie van een backoffice applicatie? Wat gedaan als de performantie onvoldoende is? Wouter Soubry, Software Quality & Application Performance Consultant bij Axxes, maakt in deze presentatie komaf met al deze pitfalls bij Performance Testing.
5. Technical
point
of
view:
Single
user
performance
Acceptable
slowdown
under
load/stress
Not
only
websites!
Every
project
should
consider
performance
explicitly
5
What
is
(applica/on)
performance?
#AxxesCC
7. “The
site
needs
to
be
sufficiently
fast”
“Page
must
load
in
4s”
PDF
genera/on
should
not
take
>
30s
The
site
must
be
able
to
handle
1000
users
Trading
system
must
be
able
to
do
1000
TPS
7
Performance
Requirements
#AxxesCC
9. Specific:
200
concurrent
users,
scenario
walkthrough,
4s
@
95
percen/le
response
all
pages
upon
first
/me
visit,
pc
on
dsl
Measurable:
at
the
client
side,
with
preload
Achievable:
‘heavy’
page
in
200ms?
Relevant
Above
the
fold
load
/me
“Onload”
event
versus
speed
index
Time-‐bound:
golive,
gradual
adop/on,
campaign
start
9
“SMART”
Performance
Requirements
#AxxesCC
10. Throughput,
load
envelope
Response
/me
User
behaviour
(think
/me,
flow)
Device,
connec/on
Context:
/cket
sale,
tax
deadline
10
Aspects
of
Performance
Reqs
#AxxesCC
13. Scalability
needs
to
be
built-‐in
(and
tested)
What
is
the
uncertainty
of
your
expected
load?
Is
scalability
important?
How
fast
can
you
provision?
Business
impact
of
out
of
spec
performance?
13
Avoiding
Surprises
#AxxesCC
18. Pi2all
3
A
fool
with
a
tool
is
s/ll
a
fool
(Grady
Booch)
18
#AxxesCC
19. Simple
>
complex
Understand
what
the
tool
is
doing
What
do
the
metrics
mean
What
is
measured
exactly
Tools
are
no
subs/tute
for
thinking,
but…
Good
repor/ng
helps
Intui/ve
interface++
Find
similar
use
cases
–
how
did
they
do
it?
19
Choose
Your
Weapon
Wisely
#AxxesCC
20. Simple
>
complex
Demo
with
ApacheBench
+
nmon
20
Choose
Your
Weapon
Wisely
#AxxesCC
33. Integra/on
environment
Not
produc/on
representa/ve
Regression
detec/on
Rule
out
startup
effects
Iden/fy
cri/cal
measurements
HTTP
APIs
DB
transac/ons
XML
processing
33
Jenkins
and
JMeter
#AxxesCC
34. Pi2all
7
No
proper
configura/on
management
34
#AxxesCC
35. Annota/on
overlays
on
metrics
hWp://play.grafana.org/dashboard/db/annota/ons
What
to
annotate:
Deploys
Config
changes
Anything
with
poten/al
performance
impact
Newrelic
deployments
demo
35
What
introduced
the
problem?
#AxxesCC
36. It’s
about
the
user.
The
User.
Tools:
use
what
you
know
best,
simpler
=
beWer
Monitoring:
develop
a
(healthy)
data
addic/on
Config
management
hygiene
Knowledge:
stand
on
the
shoulders
of
giants
36
Key
Takeaways
#AxxesCC
Thank
You