Details… - Twin Cities Quality Assurance Association (TCQAA)

Performance in the New Millennium
Speaker: Mark Tomlinson
April 2012
Twin Cities Quality Assurance Association
First, a canine metaphor…
Old Dogs
New Dogs
What can we learn?
Old dogs:
• Take their time
• Consistent
• Predictable
• They know themselves
• Trusting and Loyal
• Obedient
New dogs:
• Anxious and Busy
• Ferocious Learning
• Eating and Growing
• Making mistakes
• Breaking the rules
• Unpredictable
Reactions to Novelty
…stop, look around
There are new things happening faster around us:
• Increase in globally interactivity
• Pervasive mobile use, dependency, addiction
• Era of the “connected worker”
• Power and control of information
• Accelerated cycles of novelty
“The world is shifting quite literally under our feet.”
– Roi Carmel
Web Performance Optimization
Why you should add #WPO to your approach:
• You can start earlier in the lifecycle
• You don’t need load, optimize with
single-session and data
• The tools are already there,
automate them (GUI Virtual User?)
• Influence performance closer to the
• It’s really popular – with meetup
groups and social media hangouts
Web Performance Optimization
80-90% of the end-user response time is spent on the
frontend. Start there.
Web Performance Optimization
On Twitter follow @souders or search for #WPO Head Performance Engineer at Google
Steve spurred the creation of numerous performance
tools and services including the Yslow!, HTTP Archive,
Cuzillion, Jdrop, ControlJS, and Browserscope.
Author of several books…
Cloud Performance
Tips on cloud-based performance testing:
• Cloud-savvy Ops teams are already open to this
• Consider your cloud provider carefully
To Cloud
To On-prem
Self-service and on-demand
Security and Firewall issues
use different cloud from SUT
Data privacy issues
Repeatable but not consistent Traffic routing issues
Put LG’s outside the firewall
On-prem Test results stay on prem
Use secure channels to LG’s
Can’t find bugs outside the FW
Emulate real-world noise
Match production scale %
Mobile Performance
“The mobile insanity is here to stay…good are apps
being punished by bad performance every day.”
Consider new techniques for mobile performance:
Injecting mobile latency, switching, loss into tests
Inspecting mobile device performance (@JAHarrison)
Analyze mobile user behavior
Test for traffic segmentation
Test for application tolerances
Know your devices & users
Early Performance Testing
Old Performance Tester:
“As usual, performance testing is always left until the end of the project.”
New Performance Tester:
“Why not learn what we can as soon as we can? Shift left.”
Characteristics of early performance testing efforts:
Automation must “work around” unstable components
Service Virtualization and “stubbing” is a necessity
Results are always “preliminary” and not conclusive
Limited availability of test lab resources – shared infrastructure
Business visibility is much higher (agile, pairing, scrum, reviews)
Embraces the core principles of Exploratory Testing
Performance Testing in Production
Tuning in production – that’s old. Ops knows it.
Testing in production – that’s new. Ops is scared.
Real-world Performance Testing: bringing the realworld workload, noise, data, configuration, monitoring
into the lab. Enhancing Accuracy
Testing in Production: bringing the test into the
production environment. Simply easier and more costeffective than building a lab.`
Performance Testing in Production
Testing in Production: is becoming popular with new
companies who never had a lab or never knew how to
test properly the “old” way
SOASTA has a great slide
showing the list of things
that you can find with
traditional, in-lab
performance testing –
compared on a continuum
of issues that can be
found if you enhance your
approach to include
performance testing in
PE vs. PT
Considering the titles:
• “…which has a more defined career path.”
• “…influences the software design.”
• “…requires developer skills.”
• “…drives the business objectives.”
• “…can save money for the company.”
• “…optimizes the end-user experience.”
• “…is exchangeable with the other title.”
The title “Performance Engineer” won 6 of 7
New Performance Testers
Developer PE
• Application Development
• Application Profiling
• Method/Query Tuning
• Architectural Review
• Component Performance
• Pre-release Load Testing
• Building Performance Tools
• International Micro-brews
Operational PE
• Capacity Planning
• APM and RUM
• Tuning and Root-cause
• Triage and Escalation
• Infrastructure
• Workload Analytics
• Scalability
• Single-malt Scotch
Software Developers in Performance
Once upon a time in the dev/test team…
Software Development Engineer in Performance:
likes automation but only to keep learning how to code
stepping stone to becoming a real developer
knows the automation code – still learning the app & users
not interested in testing, generally
responsible for running tests
accountable for running tests
Network Performance Optimization
Consider that load testing
without emulating the cache
settings on the client can
now result in total inaccuracy.
If your systems in production leverage network
accelerators or optimizers – consider this:
• Your response time measures are wildly pessimistic
• The bugs you seek are not in the application layers
• You have a new customer on the Network team
Profiling and Diagnostics
“If you aren’t monitoring the system under test while
you are running a load test – you should just give up
and go home. You’re causing more harm than good.”
Combine monitoring and profiling in your load tests:
• dig into the root-cause and recommend the solution
• correlate infrastructure usage to the application code
• dissect the system under test – follow the slow code
Agile Performance Stories
Functional User Story:
So that I can report to my management
As a campaign manager
I want to see the results of my active
campaign on a single web page
Agile Performance Stories
Performance User Story:
So that campaign managers can report
accurately and timely to their managers
As an Operations Manager
I want the data on the active campaign page
to render in less than 2 secs, when 10,000
users are logged in to the website
Listening for Performance
Active listening is a communication technique that requires
the listener to feed back what he hears to the speaker, by
way of re-stating or paraphrasing what he has heard in his
own words, to confirm what he has heard and moreover, to
confirm the understanding of both parties.
nothing is being assumed or taken for granted
reduces misunderstanding and conflicts
strengthens cooperation
it is proactive, accountable and professional
What's this DevOps stuff?
• DevOps
Self-proclaimed cultural movement (is it a fad?)
Embraces patterns for collaboration and
Leads next-generation engineering principles
Not grounded in top-down methods or mgmt
The “ops” part is performance savvy
The “dev” part…not so much
Continuous App Delivery
Continuous App Optimization
Performance binds Dev & Ops
Application Performance Index
A new way to measure end-user response to
experience – a score for tolerance:
• Measures response times with a calculation
• on a scale between 0 and 1.
• Infers a level of customer happiness or satisfaction based
on the calculation.
• Depends on two settings:
• T = is the threshold between satisfied and tolerating
• F = is the threshold between tolerating and frustrated
Check out:
Application Performance Index
The default is set T to 6 seconds, and F to 26 seconds
It is not transaction-specific.
You still need to know your customer and set SLA’s
Application Performance Index
APDEX is still just a number - a product of a calculation:
To use APDEX correction you must:
1) determine the settings for T and F
2) explain the meaning of apdex to the biz
3) relate the APDEX score to revenue
Exploratory Performance Testing
Performance is inherently exploratory
• Has over-arching goals for performance
• Includes iteratively adapted tactics
• Fueled by self-direction and curiosity
• Requires dynamic test configurations
• Places a priority creativity and improvement
Exploratory Performance Mapping
Exploratory Performance Mapping
Lifecycle Virtualization
“Using virtualization technologies along the path
of the entire application lifecycle is now an
essential part of continuous, automated
software development and release.”
Platform virtualization is the foundation – the virtual OS
Service virtualization eliminates application dependencies
Device and network virtualization can emulate the real world
Virtual Lab Management (VLM) allows agility in the test lab
New Load Testing Tools
• HP LoadRunner and PC
• IBM/Rational RPT
• Jmeter
• Microfocus/Performer
• Webload
• Compuware
• Microsoft VS
• Oracle/Empirix
• AgileLoad
• Web Performance LT
• Neotys NeoLoad
• SOASTA CloudTest Lite
• Telerik
• Load Complete
New Cloud Perf Tools
• SOASTA CloudTest
• Keynote
• Compuware/Gomez
• HP LoadRunner Cloud
• HP PC SaaS
• Blazemeter
• LoadZen
• LoadStorm
• Apica
• Cloud Assault
New Client Diagnostics
• Fiddler
• YSlow!
• Firefox Firebug
• Shunra
• Google PageSpeed
• Akamai Mobitest
• WebSiteOptimization
• Charles Proxy
• Google PageSpeed
• BenchJS
New App Diagnostics Profiling
Established :
• JProfiler
• CA Wily
• HP Diagnostics
• Dell/Quest PerformaSure
• Intel V-Tune
• Microfocus DevPartner
• Microsoft VS - Intelitrace
• Yourkit
• NewRelic
• dynaTrace
• Google Perf Tools
New Monitoring Tools
Established :
• IBM Tivoli TPV
• HP SiteScope
• Microsoft SCOM
• CA APM & Wily
• Dell/Quest Foglight
• Compuware Vantage
• AppDynamics
• Nagios/Cacti
• Zyrion Traverse
• NewRelic
• Confio Ignite
• Gomez 360
• Splunk
• Blue Triangle
Our reactions to novelty are shaped thusly:
“The likeliness for an individual to be included in one of
those categories depends both on what it has learned
from its socialization with its own species and from
experiences from exploring its environment (as range
expansion often brings animals into contact with
novelty), especially the maternal influence of the
individuals’ experiences, and the individual’s genetics
influencing its likeliness to explore or focus on
remaining within a safe and familiar space.”
Source: “We All Like New Things, Or Do We? A comparison of human and non-human primate reactions to novelty.” (Wiley)
Mark Tomlinson
West Evergreen Consulting, LLC
[email protected]
@mtomlins & @perfbytes

similar documents