SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
ReThink
Road to effective
Performance test
Dharshana Warusavitharana
Why Performance Test
Can traditional testing can capture everything ?????
1. Down time is expensive
2. Functional testing does not reveal
concurrent issues
3. Simulation of real time experience
4. Test software meets expectations under
expected workloads
a. speed,
b. scalability and
c. stability
What is a good
performing system
1. Availability
2. Response time
3. Throughput
4. Utilization
Relative ( Response time)
1. Greater than 15 seconds
2. Greater than 4 seconds
3. 2 to 4 seconds
4. Less than 2 seconds
5. Sub Second response time
6. Deci-second response time
How to Structure a Perf Test
The performance-testing approach consists of the
following activities:
Activity 1. Identify the Test Environment.
Activity 2. Identify Performance Acceptance Criteria.
Activity 3. Plan and Design Tests.
Activity 4. Configure the Test Environment.
Activity 5. Implement the Test Design.
Activity 6. Execute the Test.
Activity 7. Analyze Results, Report, and Retest.
How customers will
reach us
1. Need to know limits of the system
2. Need to understand the bottlenecks of some
specific scenarios.
3. Want to check system usability
4. Already faced an issues and need our help in
isolating the issue
5. Want to see whether the system meets the
defined KPIs
6. Want to test the product that is ready to ship
for end users
What are solutions in our
bucket and When
● Load testing
● Stress testing
● Endurance testing
● Spike testing
● Volume testing
● Scalability testing
Performance testing.
1. This type of testing determines or validates the speed, scalability,
and/or stability characteristics of the system or application under
test.
2. Performance is concerned with achieving response times,
throughput, and resource-utilization levels that meet the
performance objectives for the project or product.
Load testing.
Focused on determining or validating performance characteristics
of the system or application under test when subjected to
workloads and load volumes anticipated during production
operations.
Endurance / long running tests
○ Run for a long time
○ Determine whether no issues in long run
Stress testing.
○ This subcategory of performance testing is focused on determining or validating
performance characteristics of the system or application under test when subjected to
conditions beyond those anticipated during production operations.
○ Stress tests may also include tests focused on determining or validating performance
characteristics of the system or application under test when subjected to other stressful
conditions, such as limited memory, insufficient disk space, or server failure.
○ These tests are designed to determine under what conditions an application will fail, how it
will fail,
What should you ask
from customer
1. What makes you think there is a performance problem?
2. Can the problem be expressed in terms of latency/TPS?
3. What is the environment (AWS, Openstack)?
4. What are the user patterns and how users use the system?
5. What are the peak and off peak load expected?
6. What are the products and the versions used ?
7. What are the server and network monitoring key
Performance Indicators (KPIs)
8. Configuration/Deployment (if we do not have this information)?
Capacity Planning
1. How many end users will actually use the application?
2. How many of these users will use it concurrently?
3. How will the end users connect to the application?
4. How many additional end users will require access to the
application over time?
5. What will the final application landscape look like in
terms of the number and location of the servers?
6. What effect will the application have on network
capacity?
Selecting your tools
Test execution
Monitoring
Debugging
1. Tools are not universal,
2. Need to be creative with the environment.
3. Need to know what to monitor to select right tools .
4. Depends on the customer deployment.
5. Should adjust to the level of access to the system.
Designing an Appropriate Performance
Test Environment
1. Scaling of the test tool , clustering with
load
2. Data collection and deployment of
data bases.
3. Configure proxy services, Load
balancers to avoid throttling the traffic
4. Scale Up EC2 instances or other PaaS
infrastructure to support the load.
5. Deploy monitoring tools
Checklist before test
execution
1. Choosing an appropriate performance testing tool
2. Designing an appropriate performance test environment
3. Setting realistic and appropriate performance targets
4. Making sure your application is stable
5. Obtaining a code freeze
6. Identifying and scripting the business-critical transactions
7. Providing sufficient test data of high quality
8. Ensuring accurate performance test design
9. Identifying the server and network monitoring key
10. Performance Indicators (KPIs)
11. Allocating enough time to performance test effectively
Monitoring and what
we collect
1. Processor Usage, Load Average
2. Memory usage
3. Disk time ,Disk queue length
4. Network Bandwidth, Network output queue length
5. Memory pages/second ,Page faults/second
6. Response time ,Throughput
7. Amount of connection pooling
8. Hit ratios ,Hits per second
9. Database locks
10. Thread counts
11. Garbage collection
Tools used in monitoring
1. Testing tool it self
a. Throughput
b. Response time
2. Linux System stats ( SAR recording)
a. Load Average
b. CPU load
c. Memory
3. Linux top command
a. Memory allocation for the time
4. Dynatrace/Nagios/Amazon cloud watch
5. Splunk/ Logstash
a. Monitor the distributed error logs
Debugging , What we
need
Collect resources for
debugging
Some resources can be collected in test
execution time
1. Heap dumps
2. Thread dumps
3. Garbage collector logs
For some need to execute separately
1. JFR recording
2. Jprofiler
3. And other all profiling
4. JDBC spy
High CPU
1. JFR
2. Thread IDs and CPU usage of JAVA threads
3. Multiple thread dumps
High CPU consumption of a single or
multiple application threads
High CPU and High GC
1. JFR
2. Thread IDs and CPU usage
of JAVA threads
3. Multiple thread dumps
4. GC logs
5. Heap dumps (if necessary)
○ High CPU consumption of a single or multiple
application threads
○ High CPU consumption of GC threads
○ Both of the above
Application Slows Down, Application Hangs,
Request latency increases
1. JFR
2. Thread IDs and CPU usage of JAVA threads
3. Multiple thread dumps
4. Heap dumps (if necessary)
5. GC logs
○ Thread blocks in application threads when unable to obtain a lock
○ Threads continuously wait due to I/O
○ High GC activity during the peak load
○ High CPU consumption of a single or multiple threads during the peak load
○ High CPU consumption of a periodical event
○ Deadlocks
High Memory Usage, OOM, Memory Leak
1. JFR
2. GC logs
3. Heap dumps (if necessary)
○ Not enough memory allocated to JVM
○ High memory usage (with no leak)
○ Too many allocations due to auto-boxing
○ Memory leak
Data collection and
Reporting
Data collection
Reporing
1. Should indicate all your analysis on the current
system.
2. Clearly state your assumptions.
3. Tools used and test deployment.
4. Tuning and resource allocations.
5. Test break down and and concurrency details
6. Observations and evidence for observation.
7. Your conclusion.
8. Suggestions with reference and summary.
Engineer skill set
Let's Discuss
1. Communication, Communication and
Communication
2. For me more i do more i learn
3. Every time I learn a lot
4. Good understanding on basics
5. Flexibility, Some coding skills will be Handy
6. Good on Operating systems
7. Adjustability and communication
8. Skills on performance tooling
Thank you
Time
for
Questions

Weitere ähnliche Inhalte

Was ist angesagt?

Power of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentPower of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentOpenSense Labs
 
React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...Edureka!
 
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelOmi Om
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump AnalysisDmitry Buzdin
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
Setting up Page Object Model in Automation Framework
Setting up Page Object Model in Automation FrameworkSetting up Page Object Model in Automation Framework
Setting up Page Object Model in Automation Frameworkvaluebound
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo
 
Introduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkBugRaptors
 
Apache Tomcat 8 Application Server
Apache Tomcat 8 Application ServerApache Tomcat 8 Application Server
Apache Tomcat 8 Application Servermohamedmoharam
 
Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best PracticesNagios
 
Node js overview
Node js overviewNode js overview
Node js overviewEyal Vardi
 
Installing php 7.4 Nginx Laravel 7.x on Centos 8
Installing php 7.4 Nginx Laravel 7.x on Centos 8Installing php 7.4 Nginx Laravel 7.x on Centos 8
Installing php 7.4 Nginx Laravel 7.x on Centos 8Raja Rozali Raja Hasan
 
Why and How to Use Virtual DOM
Why and How to Use Virtual DOMWhy and How to Use Virtual DOM
Why and How to Use Virtual DOMDaiwei Lu
 
Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Žilvinas Kuusas
 
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Visual Engineering
 

Was ist angesagt? (20)

Power of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal DevelopmentPower of Microservices Architecture in Drupal Development
Power of Microservices Architecture in Drupal Development
 
Java Spring
Java SpringJava Spring
Java Spring
 
React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...React Interview Questions and Answers | React Tutorial | React Redux Online T...
React Interview Questions and Answers | React Tutorial | React Redux Online T...
 
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump Analysis
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Setting up Page Object Model in Automation Framework
Setting up Page Object Model in Automation FrameworkSetting up Page Object Model in Automation Framework
Setting up Page Object Model in Automation Framework
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Node js Introduction
Node js IntroductionNode js Introduction
Node js Introduction
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challenges
 
Introduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit framework
 
Apache Tomcat 8 Application Server
Apache Tomcat 8 Application ServerApache Tomcat 8 Application Server
Apache Tomcat 8 Application Server
 
Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
 
Node js overview
Node js overviewNode js overview
Node js overview
 
Maven
MavenMaven
Maven
 
Installing php 7.4 Nginx Laravel 7.x on Centos 8
Installing php 7.4 Nginx Laravel 7.x on Centos 8Installing php 7.4 Nginx Laravel 7.x on Centos 8
Installing php 7.4 Nginx Laravel 7.x on Centos 8
 
Why and How to Use Virtual DOM
Why and How to Use Virtual DOMWhy and How to Use Virtual DOM
Why and How to Use Virtual DOM
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!
 
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
 

Ähnlich wie Door to perfomance testing

Application Performance Tuning Techniques
Application Performance Tuning TechniquesApplication Performance Tuning Techniques
Application Performance Tuning TechniquesRam Nagesh
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingAnu Shaji
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Atul Pant
 
Importance of System Performance Testing - Bahaa Al Zubaidi.pdf
Importance of System Performance Testing - Bahaa Al Zubaidi.pdfImportance of System Performance Testing - Bahaa Al Zubaidi.pdf
Importance of System Performance Testing - Bahaa Al Zubaidi.pdfBahaa Al Zubaidi
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination systemlunarrain
 
The process of performance testing
The process of performance testingThe process of performance testing
The process of performance testingSebastián Lagoueyte
 
Online Examination System Project report
Online Examination System Project report Online Examination System Project report
Online Examination System Project report SARASWATENDRA SINGH
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basicsCharu Anand
 
JavaPerformanceChapter_1
JavaPerformanceChapter_1JavaPerformanceChapter_1
JavaPerformanceChapter_1Saurav Basu
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingRichard Bishop
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
Query Execution Time and Query Optimization.
Query Execution Time and Query Optimization.Query Execution Time and Query Optimization.
Query Execution Time and Query Optimization.Radhe Krishna Rajan
 
Testing implementation kel 11
Testing implementation kel 11Testing implementation kel 11
Testing implementation kel 11Luthfia Ulinnuha
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Training Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of ApplicationsTraining Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of ApplicationsOutSystems
 

Ähnlich wie Door to perfomance testing (20)

Application Performance Tuning Techniques
Application Performance Tuning TechniquesApplication Performance Tuning Techniques
Application Performance Tuning Techniques
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Software Performance
Software Performance Software Performance
Software Performance
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Importance of System Performance Testing - Bahaa Al Zubaidi.pdf
Importance of System Performance Testing - Bahaa Al Zubaidi.pdfImportance of System Performance Testing - Bahaa Al Zubaidi.pdf
Importance of System Performance Testing - Bahaa Al Zubaidi.pdf
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination system
 
The process of performance testing
The process of performance testingThe process of performance testing
The process of performance testing
 
Online Examination System Project report
Online Examination System Project report Online Examination System Project report
Online Examination System Project report
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
 
JavaPerformanceChapter_1
JavaPerformanceChapter_1JavaPerformanceChapter_1
JavaPerformanceChapter_1
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
The process of performance testing
The process of performance testingThe process of performance testing
The process of performance testing
 
Query Execution Time and Query Optimization.
Query Execution Time and Query Optimization.Query Execution Time and Query Optimization.
Query Execution Time and Query Optimization.
 
Testing implementation kel 11
Testing implementation kel 11Testing implementation kel 11
Testing implementation kel 11
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Visual Studio Profiler
Visual Studio ProfilerVisual Studio Profiler
Visual Studio Profiler
 
Training Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of ApplicationsTraining Webinar: Detect Performance Bottlenecks of Applications
Training Webinar: Detect Performance Bottlenecks of Applications
 

Mehr von Dharshana Kasun Warusavitharana (8)

Follow your dreams
Follow your dreams Follow your dreams
Follow your dreams
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
 
Quality for developers
Quality for developersQuality for developers
Quality for developers
 
Implementing Dynamic Process Migration mechanism for WSO2 Stratos
Implementing Dynamic Process Migration mechanism for WSO2 StratosImplementing Dynamic Process Migration mechanism for WSO2 Stratos
Implementing Dynamic Process Migration mechanism for WSO2 Stratos
 
Wso2 test automation framework internal training
Wso2 test automation framework internal trainingWso2 test automation framework internal training
Wso2 test automation framework internal training
 
Introduction to clarity
Introduction to clarityIntroduction to clarity
Introduction to clarity
 
Walking around linux kernel
Walking around linux kernelWalking around linux kernel
Walking around linux kernel
 
Ariane-5 shuttle Case study fault tollerance
Ariane-5 shuttle Case study fault tolleranceAriane-5 shuttle Case study fault tollerance
Ariane-5 shuttle Case study fault tollerance
 

Kürzlich hochgeladen

Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 

Kürzlich hochgeladen (20)

Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 

Door to perfomance testing

  • 1. ReThink Road to effective Performance test Dharshana Warusavitharana
  • 2. Why Performance Test Can traditional testing can capture everything ?????
  • 3. 1. Down time is expensive 2. Functional testing does not reveal concurrent issues 3. Simulation of real time experience 4. Test software meets expectations under expected workloads a. speed, b. scalability and c. stability
  • 4. What is a good performing system
  • 5. 1. Availability 2. Response time 3. Throughput 4. Utilization Relative ( Response time) 1. Greater than 15 seconds 2. Greater than 4 seconds 3. 2 to 4 seconds 4. Less than 2 seconds 5. Sub Second response time 6. Deci-second response time
  • 6. How to Structure a Perf Test
  • 7. The performance-testing approach consists of the following activities: Activity 1. Identify the Test Environment. Activity 2. Identify Performance Acceptance Criteria. Activity 3. Plan and Design Tests. Activity 4. Configure the Test Environment. Activity 5. Implement the Test Design. Activity 6. Execute the Test. Activity 7. Analyze Results, Report, and Retest.
  • 9. 1. Need to know limits of the system 2. Need to understand the bottlenecks of some specific scenarios. 3. Want to check system usability 4. Already faced an issues and need our help in isolating the issue 5. Want to see whether the system meets the defined KPIs 6. Want to test the product that is ready to ship for end users
  • 10. What are solutions in our bucket and When
  • 11. ● Load testing ● Stress testing ● Endurance testing ● Spike testing ● Volume testing ● Scalability testing
  • 12. Performance testing. 1. This type of testing determines or validates the speed, scalability, and/or stability characteristics of the system or application under test. 2. Performance is concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the project or product.
  • 13. Load testing. Focused on determining or validating performance characteristics of the system or application under test when subjected to workloads and load volumes anticipated during production operations. Endurance / long running tests ○ Run for a long time ○ Determine whether no issues in long run
  • 14. Stress testing. ○ This subcategory of performance testing is focused on determining or validating performance characteristics of the system or application under test when subjected to conditions beyond those anticipated during production operations. ○ Stress tests may also include tests focused on determining or validating performance characteristics of the system or application under test when subjected to other stressful conditions, such as limited memory, insufficient disk space, or server failure. ○ These tests are designed to determine under what conditions an application will fail, how it will fail,
  • 15. What should you ask from customer
  • 16. 1. What makes you think there is a performance problem? 2. Can the problem be expressed in terms of latency/TPS? 3. What is the environment (AWS, Openstack)? 4. What are the user patterns and how users use the system? 5. What are the peak and off peak load expected? 6. What are the products and the versions used ? 7. What are the server and network monitoring key Performance Indicators (KPIs) 8. Configuration/Deployment (if we do not have this information)?
  • 17. Capacity Planning 1. How many end users will actually use the application? 2. How many of these users will use it concurrently? 3. How will the end users connect to the application? 4. How many additional end users will require access to the application over time? 5. What will the final application landscape look like in terms of the number and location of the servers? 6. What effect will the application have on network capacity?
  • 20. 1. Tools are not universal, 2. Need to be creative with the environment. 3. Need to know what to monitor to select right tools . 4. Depends on the customer deployment. 5. Should adjust to the level of access to the system.
  • 21. Designing an Appropriate Performance Test Environment 1. Scaling of the test tool , clustering with load 2. Data collection and deployment of data bases. 3. Configure proxy services, Load balancers to avoid throttling the traffic 4. Scale Up EC2 instances or other PaaS infrastructure to support the load. 5. Deploy monitoring tools
  • 23. 1. Choosing an appropriate performance testing tool 2. Designing an appropriate performance test environment 3. Setting realistic and appropriate performance targets 4. Making sure your application is stable 5. Obtaining a code freeze 6. Identifying and scripting the business-critical transactions 7. Providing sufficient test data of high quality 8. Ensuring accurate performance test design 9. Identifying the server and network monitoring key 10. Performance Indicators (KPIs) 11. Allocating enough time to performance test effectively
  • 25. 1. Processor Usage, Load Average 2. Memory usage 3. Disk time ,Disk queue length 4. Network Bandwidth, Network output queue length 5. Memory pages/second ,Page faults/second 6. Response time ,Throughput 7. Amount of connection pooling 8. Hit ratios ,Hits per second 9. Database locks 10. Thread counts 11. Garbage collection
  • 26. Tools used in monitoring 1. Testing tool it self a. Throughput b. Response time 2. Linux System stats ( SAR recording) a. Load Average b. CPU load c. Memory 3. Linux top command a. Memory allocation for the time 4. Dynatrace/Nagios/Amazon cloud watch 5. Splunk/ Logstash a. Monitor the distributed error logs
  • 27. Debugging , What we need
  • 28. Collect resources for debugging Some resources can be collected in test execution time 1. Heap dumps 2. Thread dumps 3. Garbage collector logs For some need to execute separately 1. JFR recording 2. Jprofiler 3. And other all profiling 4. JDBC spy
  • 29. High CPU 1. JFR 2. Thread IDs and CPU usage of JAVA threads 3. Multiple thread dumps High CPU consumption of a single or multiple application threads
  • 30. High CPU and High GC 1. JFR 2. Thread IDs and CPU usage of JAVA threads 3. Multiple thread dumps 4. GC logs 5. Heap dumps (if necessary) ○ High CPU consumption of a single or multiple application threads ○ High CPU consumption of GC threads ○ Both of the above
  • 31. Application Slows Down, Application Hangs, Request latency increases 1. JFR 2. Thread IDs and CPU usage of JAVA threads 3. Multiple thread dumps 4. Heap dumps (if necessary) 5. GC logs ○ Thread blocks in application threads when unable to obtain a lock ○ Threads continuously wait due to I/O ○ High GC activity during the peak load ○ High CPU consumption of a single or multiple threads during the peak load ○ High CPU consumption of a periodical event ○ Deadlocks
  • 32. High Memory Usage, OOM, Memory Leak 1. JFR 2. GC logs 3. Heap dumps (if necessary) ○ Not enough memory allocated to JVM ○ High memory usage (with no leak) ○ Too many allocations due to auto-boxing ○ Memory leak
  • 35. Reporing 1. Should indicate all your analysis on the current system. 2. Clearly state your assumptions. 3. Tools used and test deployment. 4. Tuning and resource allocations. 5. Test break down and and concurrency details 6. Observations and evidence for observation. 7. Your conclusion. 8. Suggestions with reference and summary.
  • 37. 1. Communication, Communication and Communication 2. For me more i do more i learn 3. Every time I learn a lot 4. Good understanding on basics 5. Flexibility, Some coding skills will be Handy 6. Good on Operating systems 7. Adjustability and communication 8. Skills on performance tooling