SlideShare une entreprise Scribd logo
1  sur  67
Performance Testing in scope of migration to Cloud
Serghei Radov
Serghei Radov
Current position:
Senior Performance Engineer at Lohika
Contacts : sergey.radov@gmail.com
Github: github.com/grinslife
Skype : serghei.radov
AGENDA
● Cloud computing principles
● Challenges
● Performance testing as part migration process
● What toolset could be used ?
● How to avoid common pitfalls ?
● Does the "90 percentile" really work?
● What will be the cost of performance testing
toolset?
● Multi-tenancy
● Statistical multiplexing
● Horizontal scalability
● Data partitioning
● Consistent hashing
● Eventual consistency
Cloud computing principles
Multi-tenancy
Statistical multiplexing
Horizontal scalability
Data partitioning
Eventual consistency
Cloud performance challenges
● Over provisioning
● Under provisioning
● ELB network traffic issues
● Availability and Reliability
Over provisioning
Under provisioning
Solution for effective provisioning
Predictive auto-scaling
Scale up early,
Scale down slowly
Use time as a proxy
Machine learning
Netflix’s Predictive Scaling Engine
Predictive Auto Scaling Engines tools
Scryer
Elastisys
AppDynamics
VMTurbo
Rancher
Multi cloud or hybrid cloud
Multiple Availability Zones
Zones independence
Deploy at multiple regions
Employ solid backup and
Some tips
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Define performance tests SLA
Statefulness
Response time
Time-out
Exceptions that can be included in the SLA:
Failure
Network issues
Denial of service
Scheduled maintenance
New Relic Response times
NRQL - NewRelic query language
SELECT uniqueCount(session) FROM PageView SINCE 1 week ago
SELECT uniqueCount(session) FROM PageView SINCE 1 week ago
COMPARE WITH 1 week ago
SELECT count(*) FROM PageView SINCE 1 day ago COMPARE
WITH 1 day ago TIMESERIES AUTO
SELECT uniqueCount(uuid) FROM MobileSession FACET osVersion
SINCE 7 days ago
Gathering response times
Additional response times metrics
All these response times are presented as part of App response time.
- Database response times
- Memcached response time
- WebExternal
- Ruby
- GC calls
New Relic provides advanced ability to trace response times across systems using
NRQL.
Additional response times metrics
Transactions throughput
- DC and Cloud resources are
not compatible due to
differences in hardware
configurations.
- Same transactions count
should correspond to current
production level at DC or
above to be able to serve
current users without latency.
Target PEAK load will be 1.14K RPM
Lowest point will be 430 RPM
Finding peaks
(extracted from New relic for presentation only instead of DataDog)
Scenario per one server
- Ramp up to 430
RPM slowly to 700
RPM in 4 hours
- Run test for 6 hours
- Ramp up to 1.14K
rpm
- Run test for 11
hours
Hardware acceptance level
- App server CPU usage
- should not go above 60% during peak 150% load
- threshold of 80%
- Memory usage (avg 60%, threshold 80%)
- Network usage throughput (should correspond DC levels)
- Auto-scaled groups set to false ( initial criteria )
All these metric values depended on production usage, budget and target VMs
CPU usage per 1 server (DataDog)
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Monitoring targets
Response times
Resource utilisation at SUT
Resource utilisation at Test Tool
Exceptions
Workload behaviour
Load Test tool (flood.io)
Response times
Resource usage
to catch exceptions
Tracking workload in real-time
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Select proper EC2 type for an App
General Purpose
Compute Optimized
Memory Optimized
GPU
Storage Optimized
Dense-storage Instances
Model vCPU Mem (GiB) Storage
Dedicated EBS Bandwidth
(Mbps)
c4.large 2 3.75 EBS-Only 500
c4.xlarge 4 7.5 EBS-Only 750
c4.2xlarge 8 15 EBS-Only 1,000
c4.4xlarge 16 30 EBS-Only 2,000
c4.8xlarge 36 60 EBS-Only 4,000
Select proper EC2 type for an App
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Workload Characterization
- Catch traffic patterns
- Resource utilisation
- Distribution of response times
- Distribution of response sizes
- Characterizations of users
behaviour
- Analyse input data
- Use performance analysis toolkit
Traffic patterns
“Keep workload as real as possible.”
Resource utilisation
Characterize user behaviour
Investigate user actions by help of
- New Relic Browser (session+funnel functions)
- Universal Analytics with User behaviour path
- Mixpanel.com (needs code injection)
- Server’s logs at NGINX
- (http requests, REST calls)
- Sumo-logic (apache access logs)
- Server’s App logs (HP ALM has QC sense)
Write analytical tools that will
Parse access / ELB logs
Unite into scripts by timestamp and IP
Reduce amount of unique scripts
Restore high level user actions
Workload distribution
Hard Way
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Jmeter
Gatling
Locust
Grinder
Tsung
Open Source load tools - 54 found
Distributed JMeter testing
● BlazeMeter - (JMeter)
● Visual Studio Team Services - (JMeter)
● Flood IO - (Jmeter , Gatling, Ruby DSL)
● Redline 13 - (Jmeter , Gatling, Ruby DSL)
● OctoPerf - (JMeter)
Load Tool as Service Providers
Create a Grid ( Docker containers)
Flood.io Grids ( JM at Docker EC2)
Create a Flood (upload jmx & data)
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Load Test tool (flood.io)
General Test result
Amazon Approval for Large Tests is needed
Flood.io results split by transactions
➢ Define acceptance criteria
➢ Select tools for monitoring and testing
➢ Discuss capacity planning responsibilities
➢ Workload Characterization
➢ Test tools for testing
➢ Run tests, analyze, scale, re-run <- cycle
Reports
● Goals & achievements (e.g 150% of Daily RPM is reached)
● Side effects are found (DB connections limit reached due to quick
ramp up)
● Exceptions caught during testing (e.g. ELB lost connections)
● Run-time notes and fixes made by DevOps (EC2 change during the
test iterations)
● Observations ( CPU usage was critical resource during RPM
increase)
Pitfalls during performance testing
Pitfall 1 : 90% percentile matches to prod.
Pitfall 2 : Extrapolation on horizontal scale
Pitfall 3 : Use a Small Amount of Hard Coded Data
Pitfall 5 : Run Tests from One Location
Pitfall 4 : Focus on a Single Use Case
Does the "90 percentile" really work ?
Does the "90 percentile" really work ?
Does the "90 percentile" really work ?
Does the "90 percentile" really work ?
What will be the cost of performance testing
toolset?
Cloud Jmeter
Provider
Type Users Monthly Nodes/Hours AWS cost
BlazeMeter pro 3K 499 100 167.50$
Flood.io(shared
nodes) pay as you go 15K+ 499 100 167.50$
SOASTA pay as you go 10K 22500 undefined 0
Questions and Answers
Thank You!

Contenu connexe

Tendances

Tendances (20)

50 sfumature di cloud
50 sfumature di cloud50 sfumature di cloud
50 sfumature di cloud
 
GLOBE Claritas V6.6 at a glance
GLOBE Claritas V6.6 at a glanceGLOBE Claritas V6.6 at a glance
GLOBE Claritas V6.6 at a glance
 
Kafka Summit NYC 2017 - Building Advanced Streaming Applications using the La...
Kafka Summit NYC 2017 - Building Advanced Streaming Applications using the La...Kafka Summit NYC 2017 - Building Advanced Streaming Applications using the La...
Kafka Summit NYC 2017 - Building Advanced Streaming Applications using the La...
 
Apache Gearpump - Lightweight Real-time Streaming Engine
Apache Gearpump - Lightweight Real-time Streaming EngineApache Gearpump - Lightweight Real-time Streaming Engine
Apache Gearpump - Lightweight Real-time Streaming Engine
 
Meetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWSMeetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWS
 
Flink forward SF 2017: Elizabeth K. Joseph and Ravi Yadav - Flink meet DC/OS ...
Flink forward SF 2017: Elizabeth K. Joseph and Ravi Yadav - Flink meet DC/OS ...Flink forward SF 2017: Elizabeth K. Joseph and Ravi Yadav - Flink meet DC/OS ...
Flink forward SF 2017: Elizabeth K. Joseph and Ravi Yadav - Flink meet DC/OS ...
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
 
Understanding AWS with Terraform
Understanding AWS with TerraformUnderstanding AWS with Terraform
Understanding AWS with Terraform
 
Bridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and Kafka
 
Using Terraform for AWS as the IaC tool
Using Terraform for AWS as the IaC toolUsing Terraform for AWS as the IaC tool
Using Terraform for AWS as the IaC tool
 
What’s expected in Spring 5
What’s expected in Spring 5What’s expected in Spring 5
What’s expected in Spring 5
 
Honest performance testing with NDBench
Honest performance testing with NDBenchHonest performance testing with NDBench
Honest performance testing with NDBench
 
Deploying Kafka at Dropbox, Mark Smith, Sean Fellows
Deploying Kafka at Dropbox, Mark Smith, Sean FellowsDeploying Kafka at Dropbox, Mark Smith, Sean Fellows
Deploying Kafka at Dropbox, Mark Smith, Sean Fellows
 
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the CloudGCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless Architecture
 
AWS ECS workshop
AWS ECS workshopAWS ECS workshop
AWS ECS workshop
 
Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...
Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...
Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...
 
Serverless data processing with Data Pipeline
Serverless data processing with Data PipelineServerless data processing with Data Pipeline
Serverless data processing with Data Pipeline
 
Data Stores @ Netflix
Data Stores @ NetflixData Stores @ Netflix
Data Stores @ Netflix
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 

En vedette

Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04
Mrityunjaya Hikkalgutti
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability ppt
anilreddyqa
 

En vedette (7)

How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04
 
Testing a SaaS Platform
Testing a SaaS PlatformTesting a SaaS Platform
Testing a SaaS Platform
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability ppt
 
TRASYS Testing As A Service
TRASYS Testing As A ServiceTRASYS Testing As A Service
TRASYS Testing As A Service
 
Cloud testing: challenges and opportunities, TaaS, Integration Testing
Cloud testing: challenges and opportunities, TaaS, Integration TestingCloud testing: challenges and opportunities, TaaS, Integration Testing
Cloud testing: challenges and opportunities, TaaS, Integration Testing
 
SaaS Testing Overview - Foundation
SaaS Testing Overview - FoundationSaaS Testing Overview - Foundation
SaaS Testing Overview - Foundation
 

Similaire à Performance testing in scope of migration to cloud by Serghei Radov

OTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingOTM Performance Review and Benchmarking
OTM Performance Review and Benchmarking
MavenWire
 
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
SQUADEX
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
Know More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy KKnow More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy K
Roopa Nadkarni
 
3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k
IBM
 

Similaire à Performance testing in scope of migration to cloud by Serghei Radov (20)

Performance on a budget
Performance on a budgetPerformance on a budget
Performance on a budget
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
OTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingOTM Performance Review and Benchmarking
OTM Performance Review and Benchmarking
 
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Workload Analysis
Workload AnalysisWorkload Analysis
Workload Analysis
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
 
Know More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy KKnow More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy K
 
3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12c
 
Infinite power at your fingertips with Microsoft Azure Cloud & ActiveEon
Infinite power at your fingertips with Microsoft Azure Cloud & ActiveEonInfinite power at your fingertips with Microsoft Azure Cloud & ActiveEon
Infinite power at your fingertips with Microsoft Azure Cloud & ActiveEon
 
Presto Summit 2018 - 07 - Lyft
Presto Summit 2018 - 07 - LyftPresto Summit 2018 - 07 - Lyft
Presto Summit 2018 - 07 - Lyft
 
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Performance testing in scope of migration to cloud by Serghei Radov

  • 1. Performance Testing in scope of migration to Cloud Serghei Radov
  • 2. Serghei Radov Current position: Senior Performance Engineer at Lohika Contacts : sergey.radov@gmail.com Github: github.com/grinslife Skype : serghei.radov
  • 3. AGENDA ● Cloud computing principles ● Challenges ● Performance testing as part migration process ● What toolset could be used ? ● How to avoid common pitfalls ? ● Does the "90 percentile" really work? ● What will be the cost of performance testing toolset?
  • 4.
  • 5. ● Multi-tenancy ● Statistical multiplexing ● Horizontal scalability ● Data partitioning ● Consistent hashing ● Eventual consistency Cloud computing principles
  • 11. Cloud performance challenges ● Over provisioning ● Under provisioning ● ELB network traffic issues ● Availability and Reliability
  • 14. Solution for effective provisioning Predictive auto-scaling Scale up early, Scale down slowly Use time as a proxy Machine learning
  • 16. Predictive Auto Scaling Engines tools Scryer Elastisys AppDynamics VMTurbo Rancher
  • 17. Multi cloud or hybrid cloud Multiple Availability Zones Zones independence Deploy at multiple regions Employ solid backup and Some tips
  • 18. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 19. Define performance tests SLA Statefulness Response time Time-out Exceptions that can be included in the SLA: Failure Network issues Denial of service Scheduled maintenance
  • 21. NRQL - NewRelic query language SELECT uniqueCount(session) FROM PageView SINCE 1 week ago SELECT uniqueCount(session) FROM PageView SINCE 1 week ago COMPARE WITH 1 week ago SELECT count(*) FROM PageView SINCE 1 day ago COMPARE WITH 1 day ago TIMESERIES AUTO SELECT uniqueCount(uuid) FROM MobileSession FACET osVersion SINCE 7 days ago
  • 23. Additional response times metrics All these response times are presented as part of App response time. - Database response times - Memcached response time - WebExternal - Ruby - GC calls New Relic provides advanced ability to trace response times across systems using NRQL.
  • 25. Transactions throughput - DC and Cloud resources are not compatible due to differences in hardware configurations. - Same transactions count should correspond to current production level at DC or above to be able to serve current users without latency.
  • 26. Target PEAK load will be 1.14K RPM Lowest point will be 430 RPM Finding peaks (extracted from New relic for presentation only instead of DataDog)
  • 27. Scenario per one server - Ramp up to 430 RPM slowly to 700 RPM in 4 hours - Run test for 6 hours - Ramp up to 1.14K rpm - Run test for 11 hours
  • 28. Hardware acceptance level - App server CPU usage - should not go above 60% during peak 150% load - threshold of 80% - Memory usage (avg 60%, threshold 80%) - Network usage throughput (should correspond DC levels) - Auto-scaled groups set to false ( initial criteria ) All these metric values depended on production usage, budget and target VMs
  • 29. CPU usage per 1 server (DataDog)
  • 30. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 31. Monitoring targets Response times Resource utilisation at SUT Resource utilisation at Test Tool Exceptions Workload behaviour
  • 32. Load Test tool (flood.io)
  • 36. Tracking workload in real-time
  • 37. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 38. Select proper EC2 type for an App General Purpose Compute Optimized Memory Optimized GPU Storage Optimized Dense-storage Instances
  • 39. Model vCPU Mem (GiB) Storage Dedicated EBS Bandwidth (Mbps) c4.large 2 3.75 EBS-Only 500 c4.xlarge 4 7.5 EBS-Only 750 c4.2xlarge 8 15 EBS-Only 1,000 c4.4xlarge 16 30 EBS-Only 2,000 c4.8xlarge 36 60 EBS-Only 4,000 Select proper EC2 type for an App
  • 40. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 41. Workload Characterization - Catch traffic patterns - Resource utilisation - Distribution of response times - Distribution of response sizes - Characterizations of users behaviour - Analyse input data - Use performance analysis toolkit
  • 42. Traffic patterns “Keep workload as real as possible.”
  • 44. Characterize user behaviour Investigate user actions by help of - New Relic Browser (session+funnel functions) - Universal Analytics with User behaviour path - Mixpanel.com (needs code injection) - Server’s logs at NGINX - (http requests, REST calls) - Sumo-logic (apache access logs) - Server’s App logs (HP ALM has QC sense)
  • 45. Write analytical tools that will Parse access / ELB logs Unite into scripts by timestamp and IP Reduce amount of unique scripts Restore high level user actions Workload distribution Hard Way
  • 46. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 49. ● BlazeMeter - (JMeter) ● Visual Studio Team Services - (JMeter) ● Flood IO - (Jmeter , Gatling, Ruby DSL) ● Redline 13 - (Jmeter , Gatling, Ruby DSL) ● OctoPerf - (JMeter) Load Tool as Service Providers
  • 50. Create a Grid ( Docker containers)
  • 51. Flood.io Grids ( JM at Docker EC2)
  • 52. Create a Flood (upload jmx & data)
  • 53. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 54. Load Test tool (flood.io)
  • 55. General Test result Amazon Approval for Large Tests is needed
  • 56. Flood.io results split by transactions
  • 57.
  • 58. ➢ Define acceptance criteria ➢ Select tools for monitoring and testing ➢ Discuss capacity planning responsibilities ➢ Workload Characterization ➢ Test tools for testing ➢ Run tests, analyze, scale, re-run <- cycle
  • 59. Reports ● Goals & achievements (e.g 150% of Daily RPM is reached) ● Side effects are found (DB connections limit reached due to quick ramp up) ● Exceptions caught during testing (e.g. ELB lost connections) ● Run-time notes and fixes made by DevOps (EC2 change during the test iterations) ● Observations ( CPU usage was critical resource during RPM increase)
  • 60. Pitfalls during performance testing Pitfall 1 : 90% percentile matches to prod. Pitfall 2 : Extrapolation on horizontal scale Pitfall 3 : Use a Small Amount of Hard Coded Data Pitfall 5 : Run Tests from One Location Pitfall 4 : Focus on a Single Use Case
  • 61. Does the "90 percentile" really work ?
  • 62. Does the "90 percentile" really work ?
  • 63. Does the "90 percentile" really work ?
  • 64. Does the "90 percentile" really work ?
  • 65. What will be the cost of performance testing toolset? Cloud Jmeter Provider Type Users Monthly Nodes/Hours AWS cost BlazeMeter pro 3K 499 100 167.50$ Flood.io(shared nodes) pay as you go 15K+ 499 100 167.50$ SOASTA pay as you go 10K 22500 undefined 0