SlideShare a Scribd company logo
 
 
 Session 
 
Presented by: 
Jim Hirschauer 
 
 
Brought to you by: 
 
 
340 Corporate Way, Suite   Orange Park, FL 32073 
888‐2
W14 
Concurrent
4/9/2014   
3:15 PM 
 
 
 
 
“Techniques for Agile Performance Testing” 
 
 
AppDynamics 
 
 
 
 
 
 
300,
68‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com 
Jim Hirschauer
AppDynamics
 
Technology evangelist for AppDynamics Jim Hirschauer has an extensive background
in highly available, business critical, large enterprise IT operations environments. Jim
has been interested in application performance testing and monitoring since his days
as a systems administrator in a retail bank. His passion for performance analysis led
him down a path to design, implement, and manage the cloud computing monitoring
architecture for a top-ten investment bank. During his tenure at the bank, Jim
created new processes and procedures that reduced the time spent in the test and QA
cycle while simultaneously increasing overall code release quality and dramatically
improving end user experience.
2/18/2014
1
PERFORMANCE TESTING
CRASH COURSE
Jim Hirschauer
@HirschOnAPM
Lockheed Martin Aeronautical Systems
Duke Energy
Wachovia
Wells Fargo
AppDynamics
2/18/2014
2
Wh dWhy does
performance
matter?matter?
Mi ft f d th t BiMicrosoft found that Bing
searches that were 2 seconds
slower resulted in a 4.3%
drop in revenue per userdrop in revenue per user
2/18/2014
3
Wh M ill h d 2 2When Mozilla shaved 2.2
seconds off their landing
page, Firefox downloads
increased 15.4%increased 15.4%
Making Barack
Obama’s website 60%
faster increased
donation conversions
by 14%
2/18/2014
4
Amazon and WalmartAmazon and Walmart
increased revenue 1% for
every 100ms of
improvementimprovement
2/18/2014
5
Performance directly
impacts the bottom
linee
2/18/2014
6
T l f th t dTools of the trade
for performance
testingtesting
2/18/2014
7
Understand your
baseline performance
Static
vs
Hello World
vsvs
App
2/18/2014
8
Apache Bench
ab -c 10 -t 10 -k http://dustinwhittle.com/
2/18/2014
9
Server Software: nginx
Server Hostname: dustinwhittle.com
Server Port: 80
Document Path: /
Document Length: 6642 bytes
Concurrency Level: 10
Time taken for tests: 10.042 seconds
C l 286Complete requests: 286
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 2080364 bytes
HTML transferred: 1899612 bytes
Requests per second: 28.48 [#/sec] (mean)
Time per request: 351.133 [ms] (mean)
Time per request: 35.113 [ms] (mean, across all concurrent requests)
Transfer rate: 202.30 [Kbytes/sec] received
Connection Times (ms)Connection Times (ms)
min mean[+/-sd] median max
Connect: 9 20 14.2 17 148
Processing: 117 325 47.8 323 574
Waiting: 112 317 46.3 314 561
Total: 140 346 46.0 341 589
Percentage of the requests served within a certain time (ms)
50% 341
66% 356
75% 366
80% 372
Siege
2/18/2014
10
siege -c 10 -b -t 10S http://dustinwhittle.com/
** SIEGE 2.72
** Preparing 10 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 263 hits
Availability: 100.00 %
Elapsed time: 9.36 secs
Data transferred: 0.35 MB
Response time: 0.35 secs
Transaction rate: 28.10 trans/sec
Throughput: 0.04 MB/sec
Concurrency: 9.82y
Successful transactions: 263
Failed transactions: 0
Longest transaction: 0.54
Shortest transaction: 0.19
2/18/2014
11
Crawl the entire app
to discover all urls
sproxy -o ./urls.txt
2/18/2014
12
SPROXY v1.02 listening on port 9001
...appending HTTP requests to:
./urls.txt
...default connection timeout: 120
seconds
wget -r -o verbose txt -l 0 -t 1 --spider -w 1 -ewget -r -o verbose.txt -l 0 -t 1 --spider -w 1 -e
robots=on
-e "http_proxy = http://127.0.0.1:9001"
"http://dustinwhittle.com/"
sort -u -o urls.txt urls.txt
2/18/2014
13
Benchmark traffic
across all unique
urls with siegeu s t s ege
siege -v -c 50 -i -t 3M -f urls.txt -
d 10
2/18/2014
14
Apache JMeter
2/18/2014
15
M lti M h i iMulti-Mechanize is an open
source framework for
performance and load
testingtesting
2/18/2014
16
pip install multi-
mechanize
multimech-newproject
demo
2/18/2014
17
import requestsimport requests
class Transaction(object):
def run(self):
r = requests.get('http://dustinwhittle.com/')
d()r.raw.read()
class Transaction(object):
def run(self):
br = mechanize.Browser()
br.set_handle_robots(False)
start_timer = time.time()
resp = br.open('http://www.dustinwhittle.com/')
resp.read()
latency = time.time() - start_timer
self custom timers['homepage'] = latencyself.custom_timers[ homepage ] latency
start_timer = time.time()
resp = br.open('http://www.dustinwhittle.com/blog')
resp.read()
latency = time time() start timer
2/18/2014
18
[global]
run_time = 10
5rampup = 5
results_ts_interval = 1
progress_bar = on
console_logging = off
xml_report = on
[user_group-1]
threads = 1
script = demo.py
multimech-run
demo
2/18/2014
19
2/18/2014
20
What about when
you need more than
one machine?o e ac e
Who lives in the
cloud?
2/18/2014
21
Bees with Machine Guns
A utility for arming (creating)A utility for arming (creating)
many bees (micro EC2
instances)
to attack (load test)
t t ( b li ti )targets (web applications)
2/18/2014
22
pip install
beeswithmachineguns
# ~/.boto
[Credentials]
aws_access_key_id=xxx
aws_secret_access_key=xxx
[Boto]
ec2_region_name = us-west-2
ec2_region_endpoint = ec2.us-west-
2.amazonaws.com
2/18/2014
23
bees up -s 2 -g default -z us-west-
2b -i ami-bc05898c -k appdynamics-
dustinwhittle-aws-us-west-2 -l ec2-
user
Connecting to the hiveConnecting to the hive.
Attempting to call up 2 bees.
Waiting for bees to load their machine guns...
.
.
.
.
Bee i-3828400c is ready for the attack.
Bee i-3928400d is ready for the attack.
The swarm has assembled 2 bees.
2/18/2014
24
bees report
Read 2 bees from the roster.
Bee i-3828400c: running @ 54.212.22.176
Bee i-3928400d: running @ 50.112.6.191
2/18/2014
25
bees attack -n 1000 -c 50 -
u http://dustinwhittle.com/
Read 2 bees from the roster.
Connecting to the hive.
Assembling bees.
Each of 2 bees will fire 50000 rounds, 125 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 1 is firing his machine gun. Bang bang!
Bee 1 is out of ammo.
Bee 0 is out of ammo.
Offensive complete.
Complete requests: 100000
Requests per second: 1067.110000 [#/sec] (mean)
Time per request: 278.348000 [ms] (mean)
50% response time: 47.500000 [ms] (mean)
90% response time: 114.000000 [ms] (mean)
Mission Assessment: Target crushed bee offensive.
The swarm is awaiting new orders.
2/18/2014
26
bees down
What about the client
side?
2/18/2014
27
Google PageSpeed
Google PageSpeed
Insights
2/18/2014
28
2/18/2014
29
Google PageSpeed
API
curl
"https://www.googleapis.com/pagespe
edonline/v1/runPagespeed?url=http://
dustinwhittle.com/&key=xxx"
2/18/2014
30
WBench
gem install wbench
2/18/2014
31
wbench http://dustinwhittle.com/
2/18/2014
32
Automate client-side
performance testing
with Gruntt G u t
Use Bower (forUse Bower (for
dependencies),
Grunt (for automation),
and Yeoman (for
bootstrapping)
2/18/2014
33
2/18/2014
34
H lHow many people
understand exactly how
fast their site runs in
production?production?
2/18/2014
35
2/18/2014
36
2/18/2014
37
2/18/2014
38
2/18/2014
39
http://webpagetest.org/
2/18/2014
40
2/18/2014
41
L d t tiLoad testing
services from the
cloudcloud
2/18/2014
42
2/18/2014
43
I t t t t dIntegrate automated
performance testing into
continuous integration for
server-side and client-sideserver side and client side
2/18/2014
44
U d t d thUnderstand the
performance implications of
every deployment and
package upgradepackage upgrade
Monitor end user
experience from end
to end in productionto e d p oduct o
2/18/2014
45
Questions?

More Related Content

PDF
Denis Zhuchinski Ways of enhancing application security
PPTX
Seven Key Metrics to Improve Agile Performance
PDF
Next-Generation Performance Testing with Lifecycle Monitoring
PDF
Performance Testing in the Agile Lifecycle
PDF
Gateway to Agile: Session 1 Dark Agile and Hyper-Performing Teams
PDF
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
PDF
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
PDF
High-Performance Agile Testing in Software Development
Denis Zhuchinski Ways of enhancing application security
Seven Key Metrics to Improve Agile Performance
Next-Generation Performance Testing with Lifecycle Monitoring
Performance Testing in the Agile Lifecycle
Gateway to Agile: Session 1 Dark Agile and Hyper-Performing Teams
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
High-Performance Agile Testing in Software Development

Viewers also liked (11)

PDF
Performance Testing in Agile and DevOps Environments
PDF
Top 8 Trends in Performance Engineering
PDF
Lean/Agile/DevOps 2016 part 3
PPTX
Migrating from Closed to Open Source - Fonda Ingram & Ken Sanford
PDF
Moving to Open-Source Tools - How to Increase Performance Test Coverage Throu...
PPTX
Flink vs. Spark
PDF
Moving from Load Runner to Open Source: Increase Performance Test Coverage 10...
PDF
Get Started with JMeter in 60 Minutes
PDF
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
PPTX
Presentation testing
PDF
Study: The Future of VR, AR and Self-Driving Cars
Performance Testing in Agile and DevOps Environments
Top 8 Trends in Performance Engineering
Lean/Agile/DevOps 2016 part 3
Migrating from Closed to Open Source - Fonda Ingram & Ken Sanford
Moving to Open-Source Tools - How to Increase Performance Test Coverage Throu...
Flink vs. Spark
Moving from Load Runner to Open Source: Increase Performance Test Coverage 10...
Get Started with JMeter in 60 Minutes
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
Presentation testing
Study: The Future of VR, AR and Self-Driving Cars
Ad

Similar to Techniques for Agile Performance Testing (20)

PDF
Mobile Performance Testing Crash Course
PDF
Performance testing crash course (Dustin Whittle)
PDF
Dustin Whittle - Performance Testing Crash Course - code.talks 2015
PDF
Speed Up Testing with Monitoring Tools
PDF
Introduction to performance tuning perl web applications
PDF
Load testing with Blitz
KEY
improving the performance of Rails web Applications
PPTX
Agile performance testing
PPTX
Scaling habits of ASP.NET
PPTX
Measuring web performance with user-centric metrics
PPTX
The High Performance Web Application Lifecycle
PPT
A web perf dashboard up & running in 90 minutes presentation
PDF
2014 06-23 velocity sc beyond page metrics
PPTX
Top open source tools to consider for web service performance testing
PDF
Ways to minimise performance risks in continuous delivery
ODP
Cvcc performance tuning
PDF
Agile, Cloud Computing, Open Source and what's in between
PPTX
Performance on a budget
KEY
Rails Performance Tricks and Treats
PDF
Performance Monitoring Made Easy
Mobile Performance Testing Crash Course
Performance testing crash course (Dustin Whittle)
Dustin Whittle - Performance Testing Crash Course - code.talks 2015
Speed Up Testing with Monitoring Tools
Introduction to performance tuning perl web applications
Load testing with Blitz
improving the performance of Rails web Applications
Agile performance testing
Scaling habits of ASP.NET
Measuring web performance with user-centric metrics
The High Performance Web Application Lifecycle
A web perf dashboard up & running in 90 minutes presentation
2014 06-23 velocity sc beyond page metrics
Top open source tools to consider for web service performance testing
Ways to minimise performance risks in continuous delivery
Cvcc performance tuning
Agile, Cloud Computing, Open Source and what's in between
Performance on a budget
Rails Performance Tricks and Treats
Performance Monitoring Made Easy
Ad

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
TLE Review Electricity (Electricity).pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
August Patch Tuesday
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
Enhancing emotion recognition model for a student engagement use case through...
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Unlocking AI with Model Context Protocol (MCP)
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Assigned Numbers - 2025 - Bluetooth® Document
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
WOOl fibre morphology and structure.pdf for textiles
Univ-Connecticut-ChatGPT-Presentaion.pdf
A novel scalable deep ensemble learning framework for big data classification...
Group 1 Presentation -Planning and Decision Making .pptx
NewMind AI Weekly Chronicles - August'25-Week II
TLE Review Electricity (Electricity).pptx
DP Operators-handbook-extract for the Mautical Institute
Web App vs Mobile App What Should You Build First.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
August Patch Tuesday
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Hindi spoken digit analysis for native and non-native speakers

Techniques for Agile Performance Testing