load&performance%...
TRANSCRIPT
![Page 1: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/1.jpg)
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sebastian Cohnen, Founder & CTO StormForger.com2016-04-12
Load & Performance Testing the Cloud??!!
![Page 2: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/2.jpg)
EHLO!
• 7+ years consulting and development
• Focus on web performance and architectures
• Founder & CTO StormForger.com
Sebastian Cohnen (@tisba)
![Page 3: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/3.jpg)
Performance
![Page 4: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/4.jpg)
Performance
Performance is the ability of a system to fulfill a task within defined dimensions.
It is a measurement for efficiency and can describe the relative capacity of a system.
“1 instance can handle 250 rps with p99 at 50ms…”
![Page 5: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/5.jpg)
Performance & Scalability
![Page 6: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/6.jpg)
Performance…is a measurement for efficiency and can describe the relative capacity of a system.
“1 instance can handle 250 rpswith p99 at 50ms…”
Performance & Scalability
Scalability…will tell you if and how effectively you can grow capacity by adding resources.
“10 instances can handle2500 rps with p99 at 50ms…”
![Page 7: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/7.jpg)
Load & Performance Testing
![Page 8: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/8.jpg)
“In software engineering, performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability
under a particular workload.” – Wikipedia
https://en.wikipedia.org/wiki/Software_performance_testing
![Page 9: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/9.jpg)
Performance Testing
• A family of non-functional testing methods…
• which induce a well defined workload• in order to observe the systems behavior• in order to verify and understand its characteristics
![Page 10: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/10.jpg)
Performance Testing Family
• Load Testing• Stress Testing• Spike Testing• Soak & Endurance Testing• Resilience Testing• Troubleshooting• Configuration Testing• Scalability Testing
![Page 11: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/11.jpg)
Back to Topic:The Cloud!
geek-and-poke.com
![Page 12: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/12.jpg)
The AWS Cloud
• IaaS, PaaS, …• APIs and automation• On-demand• Cost-effective• Scalable
![Page 13: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/13.jpg)
Why should we care?
![Page 14: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/14.jpg)
“The Cloud is Scalable!”
![Page 15: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/15.jpg)
Scaling Resources ≠Scaling Applications
![Page 16: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/16.jpg)
Scaling Resources ≠ Scaling Applications
• Adding resources does not necessarily scale your application
• e.g. adding more EC2 Instances won't remove the bottleneck at your RDS
Elastic Load Balancing
Amazon EC2
MySQL DB instance
Auto Scaling group
![Page 17: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/17.jpg)
You need to understand…
• Your (distributed, μService, …) Application• Your Software Architecture• Your Cloud Environment• Used Services and their behavior
![Page 18: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/18.jpg)
Complexity
• Complexity has not simply vanished• XaaS & Co have moved it “somewhere else”• Impact on performance is still very important
![Page 19: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/19.jpg)
Applying load tests to the cloud…
![Page 20: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/20.jpg)
Load Testing
• Induce normal/expected workload to a given system and observe!
• Determine latency, throughput, capacity, … of your system
• Ideally: Figure out the capacity per resource (e.g. per EC2 Instance)
![Page 21: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/21.jpg)
Scalability Testing
• How does my capacity increase with additional resources?
• Requirement for Capacity Planning and Cost Estimation
![Page 22: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/22.jpg)
Stress, Spike and Soak Testing
• How does your system and environment behave under serious stress? (Stress Testing)
• What happens when I'm on reddit/hacker news? (Spike Testing)
• What happens over longer period of times? (Soak Testing)
![Page 23: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/23.jpg)
Configuration Testing
• How does the behavior change, if the configuration changes?
• Very useful to learn about the impact of environment to your system
![Page 24: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/24.jpg)
Configuration Testing
• Instance Types• Auto Scaling• Throughput Provisioning• Correct/Optimal Service usage?
• OS, Web/App Server Configuration
![Page 25: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/25.jpg)
Availability & Resilience Testing
• (Zero-Downtime) Deployments under load• Infrastructure changes• Understanding failure scenarios• Testing failover mechanisms• Chaos Engineering
![Page 26: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/26.jpg)
Is this different from what it used to be pre-cloud?
![Page 27: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/27.jpg)
Yes and No!
• The testing needs and methods have not changed!• BUT: Multiple, scalable performance test environments used to be cumbersome and very expensive
• You should utilize automation wherever you can:• Infrastructure, Services, Servers, Code• Test Data(!)
![Page 28: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/28.jpg)
Conclusion
![Page 29: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/29.jpg)
Conclusion
• Scaling Resources is not Scaling Applications• Understanding is key, and testing is one tool to get there• Complexity has not vanished, it has been shifted• Utilize the cloud to make test setups simpler and achievable!
• …and…
![Page 30: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/30.jpg)
Proof of Concept
• Design architecture on AWS• Implement a prototype• Discuss with AWS Solution Architects
• Validate!Run tests, observe, learn and improve!
![Page 31: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/31.jpg)
Thank you!Sebastian Cohnen –@tisba
StormForger.com
![Page 32: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/32.jpg)
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Slide Deck Template
![Page 33: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/33.jpg)
Deck Guidelines
Fonts, sizes, colors, and layouts are all pre-built in this template.
Color palette
Please do not use gradients, shadows, or outlines on shape elements. Limit color use for chart graphics to grayscale plus one accent color.
![Page 34: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/34.jpg)
Helpful Resources
AWS Logo (logos for both web and print)
AWS Simple Icons (product and simple icons for architectural diagrams)
Design Request (AWS Marketing Design wiki)Deck Asset Repository (up-to-date deck assets and templates)
![Page 35: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/35.jpg)
Copy & Paste Content
When pasting content from another presentation please paste using “Destination Theme.”
Note: This works when copying entire slides from other presentations as long as the source presentation is also 16:9
![Page 36: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/36.jpg)
Copy & Paste Code
When pasting content Code into a Code template please use the “Keep Text Only Function” for Windows and “Destination Theme” for Macs. If any additional coloring needs to be done to your code type please do it after pasting it into your slide.
![Page 37: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/37.jpg)
Assets UsageMultiple assets can be combined to create one graphic
Deck_Box-Files.png Deck_Arrows1.png Deck_Buildings-MediumBusiness.png
Deck_Buildings-Enterprise.png
Deck_Buildings-SmallBusiness.png
Deck_Laptop-Dark-Code.png Deck_Certification-Badge.png
Deck_App2.png Deck_Lock.png
![Page 38: Load&Performance% Testing%the%Cloudaws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/... · Performance%Testing • A familyof" nonEfunctional"testing"methods](https://reader034.vdocuments.mx/reader034/viewer/2022051722/5aa634147f8b9ac8748e225f/html5/thumbnails/38.jpg)
Resizing Assets
Always hold down shift key and drag from corner when scaling assets
with Shift without Shift