SlideShare une entreprise Scribd logo
1  sur  19
July 24, 2014 
Webcast with Target: API Performance 
Testing for Black Friday
Today’s speakers 
Aaron Strey 
Target 
@Strey203 
Greg Brail 
Apigee 
@gbrail
Apigee social channels 
CC BY-SA 
3 
YouTube 
http://youtube.com/apigee 
Slideshare 
http://slideshare.com/apigee
Target processes tens of millions 
of API requests per day 
For a brief period around Black 
Friday we see a ~10-fold 
increase in traffic 
4
Generating load 
5
Treat your test scripts like you 
treat your code 
6
Predicting traffic 
7 
“Make everything as simple as possible, but not 
simpler.” 
-Albert Einstein
Predicting net new API consumer 
usage is really hard 
8
Log and monitor all the things 
9
Example metrics 
10 
Last 15 minutes 
Total Hits 7m ago 
2347 
Average TPS 7m ago 
3.3 
Perfy -­Avg 
TPS per Minute by API 7m ago 
15 
10 
View results 
carts v1.0 
carts v2.0 
guests v3.0 
lists v1.0 
locat... v2.0 
prod... v2.0 
prod... v3.0 
pro... v2.0 
regis... v1.0 
1:05 PM 
Thu Sep 4 
2014 
1:10 PM 1:15 PM 
_time 
5 
Distribution by Region 7m ago 
View results 
East 
NULL 
Perfy-­Avg 
Errors per Second per Minute 7m ago 
3 
2 
View results 
Errors 
201...5:00 201...5:00 201...5:00 201...5:00 
_time 
1 
Errors 
Perfy -­Count 
of Errors by API 7m ago 
View results 
count 
carts v2.0 
products v3.0 
API 
0 2 4 
count 
0.164609 
7m ago 
Average Client Total 
Response Time 
0.098480 
7m ago 
Average Gateway 
Processing Time 
0.068041 
7m ago 
Average Backend 
Processing Time 
0.304624 
7m ago 
Standard Deviation Client 
Total Response Time 
0.165385 
7m ago 
Standard Deviation 
Gateway Processing Time 
0.260147 
7m ago 
Standard Deviation Backend 
Processing Time 
7m ago 
Perfy -­95th 
Percentile Response Time 
1.5 
1 
View results 
p95(ClientTotalTime) 
p95(difference) 
p95(TargetTotalTime) 
1:05 PM 
Thu Sep 4 
2014 
1:10 PM 1:15 PM 
_time 
0.5 
7m ago 
Perfy -­95th 
Percentile Response Time where Cache NOT True 
1.5 
1 
View results 
p95(ClientTotalTime) 
p95(difference) 
p95(TargetTotalTime) 
1:05 PM 
Thu Sep 4 
2014 
1:10 PM 1:15 PM 
_time 
0.5
Example metrics
Test APIs for anti-fragility 
12
Test APIs continuously 
13
Keep ownership of performance 
testing as close to the 
development team as possible 
14
Types of tests 
Stress: determines the load you can handle and still meet your 
SLA 
Load: 80% of stress 
Soak: 80% of load for an extended period 
Spike: 80% of load to 120% of load back and forth 
15
The hard stuff 
16
Key takeaway 
17 
Performance testing 
is a first-class citizen
Questions? 
Aaron Strey 
Target 
@strey203 
Greg Brail 
Apigee 
@gbrail
Thank you 
11 February 2014

Contenu connexe

En vedette

Two-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT InvestmentsTwo-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT InvestmentsApigee | Google Cloud
 
Using APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesUsing APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesApigee | Google Cloud
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIsJason Weden
 
Deep dive: Monetize your API Programs
Deep dive: Monetize your API ProgramsDeep dive: Monetize your API Programs
Deep dive: Monetize your API ProgramsApigee | Google Cloud
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Kamran Khan
 
What's Better than Microservices? Serverless Microservices.
What's Better than Microservices? Serverless Microservices.What's Better than Microservices? Serverless Microservices.
What's Better than Microservices? Serverless Microservices.Apigee | Google Cloud
 
API Business Models
API Business ModelsAPI Business Models
API Business ModelsJohn Musser
 

En vedette (8)

Two-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT InvestmentsTwo-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
 
How to Achieve Agile API Security
How to Achieve Agile API SecurityHow to Achieve Agile API Security
How to Achieve Agile API Security
 
Using APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesUsing APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT Devices
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIs
 
Deep dive: Monetize your API Programs
Deep dive: Monetize your API ProgramsDeep dive: Monetize your API Programs
Deep dive: Monetize your API Programs
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
 
What's Better than Microservices? Serverless Microservices.
What's Better than Microservices? Serverless Microservices.What's Better than Microservices? Serverless Microservices.
What's Better than Microservices? Serverless Microservices.
 
API Business Models
API Business ModelsAPI Business Models
API Business Models
 

Plus de Apigee | Google Cloud

Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Apigee | Google Cloud
 
AccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First WorldAccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First WorldApigee | Google Cloud
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 
The Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management MarketThe Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management MarketApigee | Google Cloud
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsApigee | Google Cloud
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessApigee | Google Cloud
 
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet KapoorAdapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet KapoorApigee | Google Cloud
 
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg BrailAdapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg BrailApigee | Google Cloud
 
Adapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant JhingranAdapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant JhingranApigee | Google Cloud
 
London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!Apigee | Google Cloud
 

Plus de Apigee | Google Cloud (20)

How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
 
Apigee Demo: API Platform Overview
Apigee Demo: API Platform OverviewApigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
 
Ticketmaster at a glance
Ticketmaster at a glanceTicketmaster at a glance
Ticketmaster at a glance
 
AccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First WorldAccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First World
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2
 
The Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management MarketThe Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management Market
 
Walgreens at a glance
Walgreens at a glanceWalgreens at a glance
Walgreens at a glance
 
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
 
Pitney Bowes at a glance
Pitney Bowes at a glancePitney Bowes at a glance
Pitney Bowes at a glance
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
 
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet KapoorAdapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet Kapoor
 
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg BrailAdapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg Brail
 
Adapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant JhingranAdapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant Jhingran
 
London Adapt or Die: Opening Keynot
London Adapt or Die: Opening KeynotLondon Adapt or Die: Opening Keynot
London Adapt or Die: Opening Keynot
 
London Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynoteLondon Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynote
 
London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!
 

Dernier

OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 

Dernier (20)

OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 

Webcast with Target: API Performance Testing for Black Friday

  • 1. July 24, 2014 Webcast with Target: API Performance Testing for Black Friday
  • 2. Today’s speakers Aaron Strey Target @Strey203 Greg Brail Apigee @gbrail
  • 3. Apigee social channels CC BY-SA 3 YouTube http://youtube.com/apigee Slideshare http://slideshare.com/apigee
  • 4. Target processes tens of millions of API requests per day For a brief period around Black Friday we see a ~10-fold increase in traffic 4
  • 6. Treat your test scripts like you treat your code 6
  • 7. Predicting traffic 7 “Make everything as simple as possible, but not simpler.” -Albert Einstein
  • 8. Predicting net new API consumer usage is really hard 8
  • 9. Log and monitor all the things 9
  • 10. Example metrics 10 Last 15 minutes Total Hits 7m ago 2347 Average TPS 7m ago 3.3 Perfy -­Avg TPS per Minute by API 7m ago 15 10 View results carts v1.0 carts v2.0 guests v3.0 lists v1.0 locat... v2.0 prod... v2.0 prod... v3.0 pro... v2.0 regis... v1.0 1:05 PM Thu Sep 4 2014 1:10 PM 1:15 PM _time 5 Distribution by Region 7m ago View results East NULL Perfy-­Avg Errors per Second per Minute 7m ago 3 2 View results Errors 201...5:00 201...5:00 201...5:00 201...5:00 _time 1 Errors Perfy -­Count of Errors by API 7m ago View results count carts v2.0 products v3.0 API 0 2 4 count 0.164609 7m ago Average Client Total Response Time 0.098480 7m ago Average Gateway Processing Time 0.068041 7m ago Average Backend Processing Time 0.304624 7m ago Standard Deviation Client Total Response Time 0.165385 7m ago Standard Deviation Gateway Processing Time 0.260147 7m ago Standard Deviation Backend Processing Time 7m ago Perfy -­95th Percentile Response Time 1.5 1 View results p95(ClientTotalTime) p95(difference) p95(TargetTotalTime) 1:05 PM Thu Sep 4 2014 1:10 PM 1:15 PM _time 0.5 7m ago Perfy -­95th Percentile Response Time where Cache NOT True 1.5 1 View results p95(ClientTotalTime) p95(difference) p95(TargetTotalTime) 1:05 PM Thu Sep 4 2014 1:10 PM 1:15 PM _time 0.5
  • 12. Test APIs for anti-fragility 12
  • 14. Keep ownership of performance testing as close to the development team as possible 14
  • 15. Types of tests Stress: determines the load you can handle and still meet your SLA Load: 80% of stress Soak: 80% of load for an extended period Spike: 80% of load to 120% of load back and forth 15
  • 17. Key takeaway 17 Performance testing is a first-class citizen
  • 18. Questions? Aaron Strey Target @strey203 Greg Brail Apigee @gbrail
  • 19. Thank you 11 February 2014

Notes de l'éditeur

  1. For customer presentations consider putting the customer’s name on the first slide.
  2. Biggest drivers of traffic are our mobile apps (Cartwheel, ipad, iphone, android, etc) Mention response times
  3. Grinder, Jmeter, curl loader, vendor software? I will provide a verbal compare and contrast of the different toolsets we looked at and evaluated. Use the cloud
  4. Structure your test plans in a way that makes sense: You should think about maintainability of your test plans the same way you think about your code (low coupling, high cohesion) In one instance we found a problem with APIs that used Oauth story Use source control Seems obvious but surprisingly it is not Early on in our efforts before we did not have a ton of discipline around version control. We had test scripts walk out the door on developer laptops.
  5. Started by going off and asking clients what they thought usage would be. Turns out this wasn’t the best approach. We log every single API request that is made to our platform and we persist it for future analysis. This puts us in a great position to estimate future load. Formula we used: max(avg TPS) over a 60 second timeframe 2 Sundays before last Thanksgiving and max(avg TPS) over a 60 second timeframe on last Thanksgiving to get a multiplier. In many cases replaying production traffic was our best option. We were very close
  6. When you have a new consumer of your API you need to work closely with them as they onboard to your API.
  7. In the era of big data our ability to monitor and troubleshoot is unparalleled. -We log everything and we persist it. We continually poll our infrastructure with tools like vmstat, top, netstat, iostat, etc and we forward that information to a system that aggregates logs. -We also log and monitor application level details like the request URI for every single request. -Putting them all in the same location allows us to query data ad-hoc and tie together events at different layers of our API stack (we use Splunk).
  8. In the era of big data our ability to monitor and troubleshoot is unparalleled. -We log everything and we persist it. We continually poll our infrastructure with tools like vmstat, top, netstat, iostat, etc and we forward that information to a system that aggregates logs. -We also log and monitor application level details like the request URI for every single request. -Putting them all in the same location allows us to query data ad-hoc and tie together events at different layers of our API stack (we use Splunk).
  9. In the era of big data our ability to monitor and troubleshoot is unparalleled. -We log everything and we persist it. We continually poll our infrastructure with tools like vmstat, top, netstat, iostat, etc and we forward that information to a system that aggregates logs. -We also log and monitor application level details like the request URI for every single request. -Putting them all in the same location allows us to query data ad-hoc and tie together events at different layers of our API stack (we use Splunk).
  10. Think Chaos Monkey At our last internal hack day a handful of engineers on my team built a poc that does the following: Query’s chef server to get a list of nodes running a specific API cookbook. Connect to a specified number of those nodes and kill the process running the API. Run some load Bring the node back up Ensure there was no performance impact when bringing down nodes.
  11. Much of the tooling we have built around performance testing internally was built by engineers/developers that work on the APIs. Many of our performance tests scripts are written by the same developers/product owners/analysts building the API. That is not to say we take a dogmatic approach saying developers must write all the tests all the time. We have a handful of extremely talented test engineers that provide help out with writing performance and functional tests when it makes sense.
  12. Load testing writes presents some additional challenges, especially when we are talking about ecommerce. We are not a unicorn company yet. We are on our way, but can’t spin up an exact production replica at the drop of a hat. Options: Stub out responses as far back in the stack as possible Build out a lower environment that is as close to production as possible Assume the risk of not testing
  13. All of the things we have seen happen with functional testing