With more and more web traffic coming from mobile devices, performance on tablets and smartphones has a profound impact on user experience and, ultimately, your company’s bottom line. Dustin Whittle shares the latest performance testing tools and insights for web developers. Dustin explores performance considerations for backend APIs and helps you better understand mobile performance on devices. Learn how to evaluate performance and scalability on both the server- and the client-side with tools such as Siege, Bees with Machine Guns, Google PageSpeed, WBench, and more. Find out why and how to add or improve performance testing within your development and test processes. Bring your toughest mobile performance questions and join in the discussion. Take back key tips on how to automate performance and load testing, and evaluate the impact that pre-launch and ongoing performance testing will have on your business.
1.
T11
Session
4/16/2015
3:15
PM
"Mobile Performance Testing
Crash Course"
Presented by:
Dustin Whittle
AppDynamics
Brought
to
you
by:
340
Corporate
Way,
Suite
300,
Orange
Park,
FL
32073
888-‐268-‐8770
·∙
904-‐278-‐0524
·∙
sqeinfo@sqe.com
·∙
www.sqe.com
2. Dustin Whittle
AppDynamics
Dustin Whittle is a developer evangelist at AppDynamics where he focuses on
helping organizations manage application performance. Dustin was previously
CTO at Kwarter, a consultant at SensioLabs, and developer evangelist at
Yahoo!. He has experience building and leading engineering teams and working
with developers and partners to scale web platforms. When not working, Dustin
enjoys flying, sailing, diving, golfing, and traveling around the world. Find out
more at dustinwhittle.com or follow him @dustinwhittle.
3. Performance Testing Crash Course
Dustin Whittle / dustinwhittle.com / @dustinwhittle
The performance of your application affects your
business more than you might think. Top engineering
organizations think of performance not as a nice-to-
have, but as a crucial feature of their product. Those
organizations understand that performance has a
direct impact on user experience and, ultimately,
their bottom line. Unfortunately, most engineering
teams do not regularly test the performance and
scalability of their infrastructure. Join this session to
find out about the latest performance testing tools
and why your team should add performance testing
to your agile development process.
4. Agenda
• Why performance matters?
• Case studies on business impact of performance
• Tools of the trade
• MultiMechanize
• Bees with Machine Guns
• Google PageSpeed
• AppDynamics
• Best practices
• Server Side
• Client Side
• Integrating into your process
• Develop -> Test -> Deploy -> Repeat
• What was the performance impact the last release?
• What about the impact of that configuration change or package upgrade?
Dustin Whittle
• dustinwhittle.com
• @dustinwhittle
• San Francisco, California, USA
• Technologist, Traveler, Pilot, Skier, Diver, Sailor,
Golfer
5. What I have worked on
• Developer Evangelist @
• Consultant & Trainer @
• Developer Evangelist @
Why does
performance matter?
6. Microsoft found that Bing searches
that were 2 seconds slower
resulted in a 4.3% drop in revenue
per user
When Mozilla shaved 2.2 seconds
off their landing page, Firefox
downloads increased 15.4%
33. Read 2 bees from the roster.
Connecting to the hive.
Assembling bees.
Each of 2 bees will fire 500 rounds, 25 at a time.
Stinging URL so it will be cached for the attack.
Organizing the swarm.
…
Offensive complete.
Complete requests: 1000
Requests per second: 306.540000 [#/sec] (mean)
Time per request: 163.112000 [ms] (mean)
50% response time: 151.000000 [ms] (mean)
90% response time: 192.000000 [ms] (mean)
Mission Assessment: Target crushed bee offensive.
The swarm is awaiting new orders.
bees attack -n 100000 -c 1000 -u
http://springone-demo.cfapps.io/
34. Read 2 bees from the roster.
Connecting to the hive.
Assembling bees.
Each of 2 bees will fire 50000 rounds, 500 at a time.
Stinging URL so it will be cached for the attack.
Organizing the swarm.
…
Offensive complete.
Complete requests: 100000
Requests per second: 502.420000 [#/sec] (mean)
Time per request: 360.114000 [ms] (mean)
50% response time: 451.000000 [ms] (mean)
90% response time: 402.000000 [ms] (mean)
Mission Assessment: Target crushed bee offensive.
The swarm is awaiting new orders.
Read 2 bees from the roster.
Connecting to the hive.
Assembling bees.
Each of 2 bees will fire 50000 rounds, 500 at a time.
Stinging URL so it will be cached for the attack.
Organizing the swarm.
Bee 0 is joining the swarm.
Bee 1 is joining the swarm.
Bee 0 is firing his machine gun. Bang bang!
Bee 0 lost sight of the target (connection timed out).
Bee 1 lost sight of the target (connection timed out).
Offensive complete.
Target timed out without fully responding to 2 bees.
No bees completed the mission. Apparently your bees are peace-loving hippies.
The swarm is awaiting new orders.
35. bees down
Read 2 bees from the roster.
Connecting to the hive.
Calling off the swarm.
Stood down 2 bees.
59. Test for failures
• NetFlix Simian Army + Chaos Monkey
• What happens if you lose a caching layer?
• What happens if dependencies slow down?
Best Practices
• Treat performance as a feature
• Capacity plan and load test the server-side
• Optimize and performance test the client-side
• Understand your starting point
• Instrument everything
• Monitor performance in development and production
• Measure the difference of every change
• Automate performance testing in your build and deployment
process
• Understand how failures impact performance
60. Integrate automated performance
testing into continuous integration
for server-side and client-side
Understand the performance
implications of every deployment
and package upgrade