SlideShare a Scribd company logo
Kevin Brockhoff
Performance Testing
in Production
Leveraging the Universal
Scalability Law
Performance Testing in Production - Leveraging the Universal Scalability Law
Testing in Production Methodologies
❖ A/B Testing (aka Online Controlled Experimentation)
❖ Some percent of users of a website or service are unbeknownst to them given an alternate
experience (a new version of the service). Data is then collected on how users act in the old versus
new service, which can be analyzed to determine whether the new proposed change is good or not.
❖ Ramped Deployment
❖ Using Exposure Control, a new deployment of a website or service is gradually rolled out. First to a
small percentage of users, and then ultimately to all of them. At each stage the software is
monitored, and if any critical issues are uncovered that cannot be remedied, the deployment is
rolled back.
❖ Shadowing
❖ The system under test is deployed and uses real production data in real-time, but the results are not
exposed to the end user.
Source: https://blogs.msdn.microsoft.com/seliot/2011/06/07/testing-in-production-tip-it-really-happensexamples-from-facebook-amazon-google-and-microsoft/
Cynefin Framework
Complex
The complex domain represents the "unknown
unknowns". Cause and effect can only be
deduced in retrospect, and there are no right
answers. "Instructive patterns ... can emerge,"
write Snowden and Boone, "if the leader
conducts experiments that are safe to fail."
Cynefin calls this process "probe–sense–
respond". Hard insurance cases are one example.
"Hard cases ... need human underwriters,"
Stewart writes, "and the best all do the same
thing: Dump the file and spread out the
contents." Stewart identifies battlefields,
markets, ecosystems and corporate cultures as
complex systems that are "impervious to a
reductionist, take-it-apart-and-see-how-it-works
approach, because your very actions change the
situation in unpredictable ways."
Source: Wikipedia – Cynefin framework
Properties of a Complex System
❖ No complex system is ever fully healthy.
❖ Distributed systems are pathologically unpredictable.
❖ It’s impossible to predict the myriad states of partial failure
various parts of the system might end up in.
❖ Failure needs to be embraced at every phase, from system
design to implementation, testing, deployment, and, finally,
operation.
❖ Ease of debugging is a cornerstone for the maintenance and
evolution of robust systems.
From Distributed Systems Observability by Cindy Sridharan
–Cindy Sridharan
“I’m more and more convinced that staging
environments are like mocks - at best a pale
imitation of the genuine article and the worst form
of confirmation bias. It’s still better than having
nothing - but “works in staging” is only one step
better than “works on my machine”.”
Testing in Production, the safe way - Cindy Sridharan on Medium
If production is the only reliable test
environment, how can we determine where
the limits are without impacting user
experience?
Performance Testing in Production - Leveraging the Universal Scalability Law
Universal Scalability Law
❖ Introduced by Neil J. Gunther in 1993
❖ Applicable to both hardware and software
❖ Predicts throughput X(N) at a given load, N
❖ Hardware - N = number of processors
❖ Software - N = number of simultaneous users
❖ Constraints
❖ Contention - Competition for resources on single node
❖ Coherence - Cost of shared state coordination between nodes
❖ Wide-spread applicability
❖ Load testing tools like LoadRunner and JMeter
❖ Modeling disk arrays, SANs, and multicore processors
❖ Modeling distributed application software, e.g., Hadoop
❖ Accounts for such effects as memory thrashing, and cache-miss latencies
❖ Can extrapolate when a system will degrade without having to push the system to that point
Original 2 parameter equation:
Revised 3 parameter
equation (known value for
1 N not required):
Sources:
http://www.perfdynamics.com/Manifesto/USLscalability.html
http://perfdynamics.blogspot.com/2018/05/usl-scalability-modeling-with-three.html
Demo
Demo System Architecture
Response Times
Calculated USL
JMeter Test Runs
1 Pod 2 Pods
Users No. Avg/s Avg Resp Max Resp No. Avg/s Avg Resp
64 16257 53.2 128 1380 16283 53.3 128 1223
128 31635 103.6 161 1716 31788 103.8 155 1472
192 46033 150.7 199 1816 46155 150.7 196 1511
256 58878 190.9 253 2072 59385 193.7 241 4115
320 68345 223.1 353 3564 70845 231.2 303 4525
384 74272 242.3 500 4493 80283 261.9 383 3098
448 87009 283.7 492 3152
Pods Users Throughput
1 738.392 94640.14
2 878.9402 108487.9
Maximum Throughput
Links
❖ Source code: https://github.com/kbrockhoff/perf-test-
in-prod

More Related Content

PDF
Deliver Faster with BDD/TDD - Designing Automated Tests That Don't Suck
PPTX
OpenTelemetry For Architects
PDF
Observability in Java: Getting Started with OpenTelemetry
PPTX
OpenTelemetry For Developers
PPTX
OpenTelemetry For Operators
PDF
Opentracing 101
PDF
Testing in a distributed world
PDF
Adopting Open Telemetry as Distributed Tracer on your Microservices at Kubern...
Deliver Faster with BDD/TDD - Designing Automated Tests That Don't Suck
OpenTelemetry For Architects
Observability in Java: Getting Started with OpenTelemetry
OpenTelemetry For Developers
OpenTelemetry For Operators
Opentracing 101
Testing in a distributed world
Adopting Open Telemetry as Distributed Tracer on your Microservices at Kubern...

What's hot (15)

PDF
ETICS supporting compliance and interoperability, Gabriele Giammatteo, Engine...
 
PDF
Security of OpenDaylight platform
PPTX
Integration Group - Lithium test strategy
PDF
SDN NFV NV OpenNetwork @ VMUG.IT 20150529
ODP
OpenDaylight Brisbane User Group - OpenDaylight Security
PDF
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
PDF
Jaeger and OpenTracing Cloud Native Computing (CNCF) meetup Zurich
PDF
Ergo platform's approach
PDF
Monitoring to the Nth tier: The state of distributed tracing in 2016
PDF
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
PPTX
Reactive Programming In Java Using: Project Reactor
PDF
Oleksandr Navka How I Configure Infrastructure of My Project
PPTX
Introduction to Reactive programming
PDF
Atgentive Reasoning Module (WP3)
PPTX
AusCERT 2016: CVE and alternatives
ETICS supporting compliance and interoperability, Gabriele Giammatteo, Engine...
 
Security of OpenDaylight platform
Integration Group - Lithium test strategy
SDN NFV NV OpenNetwork @ VMUG.IT 20150529
OpenDaylight Brisbane User Group - OpenDaylight Security
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Jaeger and OpenTracing Cloud Native Computing (CNCF) meetup Zurich
Ergo platform's approach
Monitoring to the Nth tier: The state of distributed tracing in 2016
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
Reactive Programming In Java Using: Project Reactor
Oleksandr Navka How I Configure Infrastructure of My Project
Introduction to Reactive programming
Atgentive Reasoning Module (WP3)
AusCERT 2016: CVE and alternatives
Ad

Similar to Performance Testing in Production - Leveraging the Universal Scalability Law (20)

PPTX
Distributed Operating System
PDF
RESILIENT VOTING MECHANISMS FOR MISSION SURVIVABILITY IN CYBERSPACE: COMBININ...
PDF
Design For Testability
PDF
Bt0081 software engineering2
PPT
Effektives Consulting - Performance Engineering
PDF
Benchmarking our Network Vulnerability Scanner
PPTX
reliability and fault tolerance.pptx
PDF
Chapeter 2 introduction to cloud computing
PDF
The Great Disconnect of Data Protection: Perception, Reality and Best Practices
PDF
Performance testing methodologies and tools
PDF
11.performance testing methodologies and tools
PDF
Download
PDF
Enabling and Supporting the Debugging of Field Failures (Job Talk)
PPTX
Performance testing basics
PDF
Cost Based Performance Modelling
PDF
Cloud Reliability: Decreasing outage frequency using fault injection
PDF
The difference between in-depth analysis of virtual infrastructures & monitoring
PPTX
Distributed Software Engineering with Client-Server Computing
PPTX
High dependability of the automated systems
PDF
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
Distributed Operating System
RESILIENT VOTING MECHANISMS FOR MISSION SURVIVABILITY IN CYBERSPACE: COMBININ...
Design For Testability
Bt0081 software engineering2
Effektives Consulting - Performance Engineering
Benchmarking our Network Vulnerability Scanner
reliability and fault tolerance.pptx
Chapeter 2 introduction to cloud computing
The Great Disconnect of Data Protection: Perception, Reality and Best Practices
Performance testing methodologies and tools
11.performance testing methodologies and tools
Download
Enabling and Supporting the Debugging of Field Failures (Job Talk)
Performance testing basics
Cost Based Performance Modelling
Cloud Reliability: Decreasing outage frequency using fault injection
The difference between in-depth analysis of virtual infrastructures & monitoring
Distributed Software Engineering with Client-Server Computing
High dependability of the automated systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
Ad

Recently uploaded (20)

PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
assetexplorer- product-overview - presentation
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
Cost to Outsource Software Development in 2025
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
Website Design Services for Small Businesses.pdf
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Nekopoi APK 2025 free lastest update
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
iTop VPN Crack Latest Version Full Key 2025
PDF
Autodesk AutoCAD Crack Free Download 2025
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
assetexplorer- product-overview - presentation
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Cost to Outsource Software Development in 2025
Why Generative AI is the Future of Content, Code & Creativity?
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Oracle Fusion HCM Cloud Demo for Beginners
Monitoring Stack: Grafana, Loki & Promtail
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Complete Guide to Website Development in Malaysia for SMEs
Website Design Services for Small Businesses.pdf
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Digital Systems & Binary Numbers (comprehensive )
Nekopoi APK 2025 free lastest update
Salesforce Agentforce AI Implementation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
iTop VPN Crack Latest Version Full Key 2025
Autodesk AutoCAD Crack Free Download 2025

Performance Testing in Production - Leveraging the Universal Scalability Law

  • 1. Kevin Brockhoff Performance Testing in Production Leveraging the Universal Scalability Law
  • 3. Testing in Production Methodologies ❖ A/B Testing (aka Online Controlled Experimentation) ❖ Some percent of users of a website or service are unbeknownst to them given an alternate experience (a new version of the service). Data is then collected on how users act in the old versus new service, which can be analyzed to determine whether the new proposed change is good or not. ❖ Ramped Deployment ❖ Using Exposure Control, a new deployment of a website or service is gradually rolled out. First to a small percentage of users, and then ultimately to all of them. At each stage the software is monitored, and if any critical issues are uncovered that cannot be remedied, the deployment is rolled back. ❖ Shadowing ❖ The system under test is deployed and uses real production data in real-time, but the results are not exposed to the end user. Source: https://blogs.msdn.microsoft.com/seliot/2011/06/07/testing-in-production-tip-it-really-happensexamples-from-facebook-amazon-google-and-microsoft/
  • 4. Cynefin Framework Complex The complex domain represents the "unknown unknowns". Cause and effect can only be deduced in retrospect, and there are no right answers. "Instructive patterns ... can emerge," write Snowden and Boone, "if the leader conducts experiments that are safe to fail." Cynefin calls this process "probe–sense– respond". Hard insurance cases are one example. "Hard cases ... need human underwriters," Stewart writes, "and the best all do the same thing: Dump the file and spread out the contents." Stewart identifies battlefields, markets, ecosystems and corporate cultures as complex systems that are "impervious to a reductionist, take-it-apart-and-see-how-it-works approach, because your very actions change the situation in unpredictable ways." Source: Wikipedia – Cynefin framework
  • 5. Properties of a Complex System ❖ No complex system is ever fully healthy. ❖ Distributed systems are pathologically unpredictable. ❖ It’s impossible to predict the myriad states of partial failure various parts of the system might end up in. ❖ Failure needs to be embraced at every phase, from system design to implementation, testing, deployment, and, finally, operation. ❖ Ease of debugging is a cornerstone for the maintenance and evolution of robust systems. From Distributed Systems Observability by Cindy Sridharan
  • 6. –Cindy Sridharan “I’m more and more convinced that staging environments are like mocks - at best a pale imitation of the genuine article and the worst form of confirmation bias. It’s still better than having nothing - but “works in staging” is only one step better than “works on my machine”.”
  • 7. Testing in Production, the safe way - Cindy Sridharan on Medium
  • 8. If production is the only reliable test environment, how can we determine where the limits are without impacting user experience?
  • 10. Universal Scalability Law ❖ Introduced by Neil J. Gunther in 1993 ❖ Applicable to both hardware and software ❖ Predicts throughput X(N) at a given load, N ❖ Hardware - N = number of processors ❖ Software - N = number of simultaneous users ❖ Constraints ❖ Contention - Competition for resources on single node ❖ Coherence - Cost of shared state coordination between nodes ❖ Wide-spread applicability ❖ Load testing tools like LoadRunner and JMeter ❖ Modeling disk arrays, SANs, and multicore processors ❖ Modeling distributed application software, e.g., Hadoop ❖ Accounts for such effects as memory thrashing, and cache-miss latencies ❖ Can extrapolate when a system will degrade without having to push the system to that point
  • 11. Original 2 parameter equation: Revised 3 parameter equation (known value for 1 N not required): Sources: http://www.perfdynamics.com/Manifesto/USLscalability.html http://perfdynamics.blogspot.com/2018/05/usl-scalability-modeling-with-three.html
  • 12. Demo
  • 15. Calculated USL JMeter Test Runs 1 Pod 2 Pods Users No. Avg/s Avg Resp Max Resp No. Avg/s Avg Resp 64 16257 53.2 128 1380 16283 53.3 128 1223 128 31635 103.6 161 1716 31788 103.8 155 1472 192 46033 150.7 199 1816 46155 150.7 196 1511 256 58878 190.9 253 2072 59385 193.7 241 4115 320 68345 223.1 353 3564 70845 231.2 303 4525 384 74272 242.3 500 4493 80283 261.9 383 3098 448 87009 283.7 492 3152 Pods Users Throughput 1 738.392 94640.14 2 878.9402 108487.9 Maximum Throughput
  • 16. Links ❖ Source code: https://github.com/kbrockhoff/perf-test- in-prod