SlideShare a Scribd company logo
Performance Testing Highlights
Sharad Jain
Date – 07th
Feb 2011
What is Performance Testing
• Performance testing – refers to test activities on checking system
performance
The major objectives of performance testing:
• To confirm and validate the specified system
performance requirements.
• To check the current product capacity to answer the questions
from customers and marketing people.
• To identify performance issues and performance degradation in
a given system
Differences b/w Performance, Load and Stress Test
• Performance Test determine the run time “behavior” of the
application and its supporting infrastructure, under certain
conditions.
• Performance testing is used to measure several system characteristics,
such as processing speed, response time, resource consumption,
throughput and efficiency.
• Load Test determine the applications “behavior under load”, up
to and including its limits (not just as its limits).
• Load tests specifically refers to the load size (number of concurrent
users) and related values.
• Stress Test determines the application ability to handle large
amount of data
• Stress testing can be much more successful with the full load applied to
the server.
Why Performance Testing?
• Scalability – Will the application handle the expected load and
beyond?
• Stability – Is the application stable under expected and unexpected
user loads?
• Availability – Is the application available to the end user without
any interruption?
• Serviceability – Can the system quickly recover from a Failure?
• Speed - Does the application respond quickly.
• Confidence – Are you sure that clients will have a positive
experience on go-live day?
Performance Requirements
• Following are some representative performance requirements
which system would be expected to meet
• The system should support peak load of x active users and y
transactions/sec. (for web based application it could be requests/sec)
• At peak load, system response to the X% of users should be Y Sec.
• System should be able to support 24 X 7 operation (reliability)
• System should be scalable to meet growth in demand.
• The response time requirement could vary based on
• Geographical location of users
• Connection bandwidth (especially true for Internet users)
• Transaction complexity.
Performance parameters to consider
• Throughput: The number of requests processed per unit time (per
second)
• Latency: The time taken in establishing the network handshake.
• Efficiency: Throughput - Latency
• Degradation: The Throughput of the application when the concurrent
requests are gradually increased – Test to see if the performance of
the application degrades when the number of concurrent requests is
increased.
• Longevity : Execute tests for a pre-determined time interval with a
pre-determined load. Monitor the health of the application throughout
the test execution and check for memory leaks and analyze the GC
dump
What Performance Problem may arise ?
• Memory-related problems:
• Application uses more memory than it should.
• Memory leaks.
• Excessive garbage allocation, i.e. application creates a lot of temporary
objects.
• Code-related problems:
• Application algorithms are not optimal, and there are performance
bottlenecks.
• Hardware/Software related Problem:
• Hardware you select for your database is not in vendor Hardware
Compatibility List
Scalability
• This section talks about the impact of scaling up the Hardware
resources from the suggested minimum Hardware requirements
• Processor impact
• Database impact
• I/O impact
• Network bandwidth Impact
Processor Impact
• Single Processor v/s Multi Processor
The response time for searching or archiving a document
decreased by 50 - 80% on adding an additional processor in a multi-
threaded scenario (info based on assumptions)
Data base Impact
• Single Processor v/s Multi Processor
• As the number of concurrent users using application services are
increased, it is observed that Oracle performs better than MS SQL
Server with a 5 - 8% improvement in the performance (info based on
assumptions)
I/O Impact
• I/O has considerable impact on the performance of the Application
with 15% to 18% reduction in the response time especially when
there are huge reports to be generated on the system.
Network bandwidth Impact
• A good Network connectivity between the Client, Application Server
and database improves the performance considerably. There was
40% (approx) improvement in the throughput of the application
when the Network Connectivity between Database system and
Application Server system was increased from 100 mbps to 1Gbps
(info based on assumptions).
Identify the Performance issues
Application
Database
Application Code
Application Design.
JVM settings
Application server configuration and usage
Web Server Configuration and usage
System OS
System OS
Client Side
Database Schema, design, configurations,
resource usage, SQLs, Indexes etc
OS Resources – CPU, Network, Disk, Memory,
OS kernel, Storage etc
Browser settings, Client system, Page size,
amount of data displayed
Performance Bottleneck Sources
Network
8% Web Server
12%
App Server
35%
DB Server
45%
Database Server Causes
Other
5%
Slow specific query response
22%
Slow overall query response
16%
Slow overall DB response
13%
Overuse of row-at-a-time
processing
11%
Missing indexes
8%
Poor multi-user response
7%
Query plan cache too small
7%
Data cache too small
5%
Deadlocks
3%
Old optimizer statistics
3%
App Server Causes
Memory leak
15%
Inefficent garbage collection
12%
Expired sessions still active
12%
Poorly configured App Server
12%
Insufficient hardware resources
10%
Poorly configured DB
connection pool
9%
Inefficiently coded transaction
11%
Inefficient DB access
architecture
4%
Inefficient object access
method
5%
Other
10%
Network Causes
Bad network architecture
20%
Other
20%
Poorly configured/insufficient
NICs
10%
Security too tight
15%
Insufficent overall bandwidth
13%
Load balancing ineffective
22%
Software and Hardware Requirements
• Hardware Requirement
• Details of system to be tested
• Workstation required for load simulation
• Workstation required for running monitoring utilities
• Network Equipment (e.g. Router, Firewall, Modems etc.)
• Software Requirement
• System Software
• Load Testing Tools
• Performance Monitoring utilities
• Miscellaneous utilities like graph generation etc.
Performance Testing Process
• Understand system and identify performance requirements
• Identify performance test objectives.
• Define performance test strategy:
• Identify the needs of performance test tools and define
performance test environment
• Write performance test plan
• Set up the target system and performance test beds
• Design performance test cases and test suite
• Performance test execution and data collection
• Performance analysis and reporting
Performance Testing Approach
• Performance testing: (during production)
• Measure and analyze the system performance based on
performance test data and results
• Performance simulation: (pre-production)
• Study and estimate system performance using a simulation
approach
• Performance measurement at the customer site: (post-production)
• Measure and evaluate system performance during system
operations
Performance Modeling Project Overview
In order to analyze performance behavior, improve product
performance, and serve as the foundation for capacity planning
• The overall goal was to design and develop a model that would be:
• realistic and general enough to be widely applicable across a variety of
customer configuration and application scenarios in Altair target market.
• simple enough to be easily usable by the field sales and support
organizations to assist customers make system configuration decisions
• possible to validate so that it could be applied with confidence.
What is the resultant deliverable
The resultant of this performance testing exercise is a “Performance
and Scalability document” with results of the tests performed and
hardware recommendations. The document would not be a sizing
guide per se but will have:
• Throughput and scalability numbers for the end users to consume
• Test metrics - numbers and graphs related to the tests executed
• And an internally consumable document containing performance
recommendations for the developers to work on.
Also, note that the resultant document is not a Sizing guide.
But this document will definitely be a good input to the performance
team to come up with a sizing guide for the future releases.
Thank You

More Related Content

PPT
Performance testing : An Overview
PPTX
Performance testing
PPT
Performance and load testing
PPT
Performance testing and rpt
PPTX
Performance testing basics
PPT
Software Performance
PPTX
Performance Testing
PDF
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
Performance testing : An Overview
Performance testing
Performance and load testing
Performance testing and rpt
Performance testing basics
Software Performance
Performance Testing
Mastering performance testing_ a comprehensive guide to optimizing applicatio...

Similar to performancetestinganoverview-110206071921-phpapp02.pdf (20)

PDF
What is Performance Testing? - A Comprehensive Guide
PDF
Adding Performance Testing to a Software Development Project
PPTX
Performance testing
PPTX
Performance Assurance for Packaged Applications
PPTX
An Introduction to Performance Testing
PDF
Primer on application_performance_testing_v0.2
PPTX
Performance testing
PPT
08-Performence_Testing Project Explain.ppt
PPTX
Introduction to performance testing
PPT
Less11 3 e_loadmodule_1
PDF
Comprehensive Performance Testing: From Early Dev to Live Production
PPTX
QSpiders - Introduction to JMeter
PPT
Performance Engineering Basics
PDF
Application Performance, Test and Monitoring
PDF
Performance Requirement Gathering
PDF
Application Performance Testing Checklist
PPTX
Performance Testing Using VS 2010 - Part 1
PPT
JMeter
PPTX
VCS_QAPerformanceSlides
PPT
Best Practices for Applications Performance Testing
What is Performance Testing? - A Comprehensive Guide
Adding Performance Testing to a Software Development Project
Performance testing
Performance Assurance for Packaged Applications
An Introduction to Performance Testing
Primer on application_performance_testing_v0.2
Performance testing
08-Performence_Testing Project Explain.ppt
Introduction to performance testing
Less11 3 e_loadmodule_1
Comprehensive Performance Testing: From Early Dev to Live Production
QSpiders - Introduction to JMeter
Performance Engineering Basics
Application Performance, Test and Monitoring
Performance Requirement Gathering
Application Performance Testing Checklist
Performance Testing Using VS 2010 - Part 1
JMeter
VCS_QAPerformanceSlides
Best Practices for Applications Performance Testing

Recently uploaded (20)

PPTX
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PPTX
Probability Distribution, binomial distribution, poisson distribution
PDF
Unit 1 Cost Accounting - Cost sheet
PDF
IFRS Notes in your pocket for study all the time
PDF
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PPTX
HR Introduction Slide (1).pptx on hr intro
PDF
How to Get Business Funding for Small Business Fast
PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
PDF
Tata consultancy services case study shri Sharda college, basrur
PDF
Daniels 2024 Inclusive, Sustainable Development
PPTX
New Microsoft PowerPoint Presentation - Copy.pptx
PPTX
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
PDF
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
PDF
Cours de Système d'information about ERP.pdf
PDF
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
PDF
Deliverable file - Regulatory guideline analysis.pdf
PDF
Reconciliation AND MEMORANDUM RECONCILATION
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
Probability Distribution, binomial distribution, poisson distribution
Unit 1 Cost Accounting - Cost sheet
IFRS Notes in your pocket for study all the time
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
Roadmap Map-digital Banking feature MB,IB,AB
HR Introduction Slide (1).pptx on hr intro
How to Get Business Funding for Small Business Fast
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
Tata consultancy services case study shri Sharda college, basrur
Daniels 2024 Inclusive, Sustainable Development
New Microsoft PowerPoint Presentation - Copy.pptx
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
Cours de Système d'information about ERP.pdf
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
Deliverable file - Regulatory guideline analysis.pdf
Reconciliation AND MEMORANDUM RECONCILATION
unit 1 COST ACCOUNTING AND COST SHEET

performancetestinganoverview-110206071921-phpapp02.pdf

  • 1. Performance Testing Highlights Sharad Jain Date – 07th Feb 2011
  • 2. What is Performance Testing • Performance testing – refers to test activities on checking system performance The major objectives of performance testing: • To confirm and validate the specified system performance requirements. • To check the current product capacity to answer the questions from customers and marketing people. • To identify performance issues and performance degradation in a given system
  • 3. Differences b/w Performance, Load and Stress Test • Performance Test determine the run time “behavior” of the application and its supporting infrastructure, under certain conditions. • Performance testing is used to measure several system characteristics, such as processing speed, response time, resource consumption, throughput and efficiency. • Load Test determine the applications “behavior under load”, up to and including its limits (not just as its limits). • Load tests specifically refers to the load size (number of concurrent users) and related values. • Stress Test determines the application ability to handle large amount of data • Stress testing can be much more successful with the full load applied to the server.
  • 4. Why Performance Testing? • Scalability – Will the application handle the expected load and beyond? • Stability – Is the application stable under expected and unexpected user loads? • Availability – Is the application available to the end user without any interruption? • Serviceability – Can the system quickly recover from a Failure? • Speed - Does the application respond quickly. • Confidence – Are you sure that clients will have a positive experience on go-live day?
  • 5. Performance Requirements • Following are some representative performance requirements which system would be expected to meet • The system should support peak load of x active users and y transactions/sec. (for web based application it could be requests/sec) • At peak load, system response to the X% of users should be Y Sec. • System should be able to support 24 X 7 operation (reliability) • System should be scalable to meet growth in demand. • The response time requirement could vary based on • Geographical location of users • Connection bandwidth (especially true for Internet users) • Transaction complexity.
  • 6. Performance parameters to consider • Throughput: The number of requests processed per unit time (per second) • Latency: The time taken in establishing the network handshake. • Efficiency: Throughput - Latency • Degradation: The Throughput of the application when the concurrent requests are gradually increased – Test to see if the performance of the application degrades when the number of concurrent requests is increased. • Longevity : Execute tests for a pre-determined time interval with a pre-determined load. Monitor the health of the application throughout the test execution and check for memory leaks and analyze the GC dump
  • 7. What Performance Problem may arise ? • Memory-related problems: • Application uses more memory than it should. • Memory leaks. • Excessive garbage allocation, i.e. application creates a lot of temporary objects. • Code-related problems: • Application algorithms are not optimal, and there are performance bottlenecks. • Hardware/Software related Problem: • Hardware you select for your database is not in vendor Hardware Compatibility List
  • 8. Scalability • This section talks about the impact of scaling up the Hardware resources from the suggested minimum Hardware requirements • Processor impact • Database impact • I/O impact • Network bandwidth Impact
  • 9. Processor Impact • Single Processor v/s Multi Processor The response time for searching or archiving a document decreased by 50 - 80% on adding an additional processor in a multi- threaded scenario (info based on assumptions)
  • 10. Data base Impact • Single Processor v/s Multi Processor • As the number of concurrent users using application services are increased, it is observed that Oracle performs better than MS SQL Server with a 5 - 8% improvement in the performance (info based on assumptions)
  • 11. I/O Impact • I/O has considerable impact on the performance of the Application with 15% to 18% reduction in the response time especially when there are huge reports to be generated on the system.
  • 12. Network bandwidth Impact • A good Network connectivity between the Client, Application Server and database improves the performance considerably. There was 40% (approx) improvement in the throughput of the application when the Network Connectivity between Database system and Application Server system was increased from 100 mbps to 1Gbps (info based on assumptions).
  • 13. Identify the Performance issues Application Database Application Code Application Design. JVM settings Application server configuration and usage Web Server Configuration and usage System OS System OS Client Side Database Schema, design, configurations, resource usage, SQLs, Indexes etc OS Resources – CPU, Network, Disk, Memory, OS kernel, Storage etc Browser settings, Client system, Page size, amount of data displayed
  • 14. Performance Bottleneck Sources Network 8% Web Server 12% App Server 35% DB Server 45%
  • 15. Database Server Causes Other 5% Slow specific query response 22% Slow overall query response 16% Slow overall DB response 13% Overuse of row-at-a-time processing 11% Missing indexes 8% Poor multi-user response 7% Query plan cache too small 7% Data cache too small 5% Deadlocks 3% Old optimizer statistics 3%
  • 16. App Server Causes Memory leak 15% Inefficent garbage collection 12% Expired sessions still active 12% Poorly configured App Server 12% Insufficient hardware resources 10% Poorly configured DB connection pool 9% Inefficiently coded transaction 11% Inefficient DB access architecture 4% Inefficient object access method 5% Other 10%
  • 17. Network Causes Bad network architecture 20% Other 20% Poorly configured/insufficient NICs 10% Security too tight 15% Insufficent overall bandwidth 13% Load balancing ineffective 22%
  • 18. Software and Hardware Requirements • Hardware Requirement • Details of system to be tested • Workstation required for load simulation • Workstation required for running monitoring utilities • Network Equipment (e.g. Router, Firewall, Modems etc.) • Software Requirement • System Software • Load Testing Tools • Performance Monitoring utilities • Miscellaneous utilities like graph generation etc.
  • 19. Performance Testing Process • Understand system and identify performance requirements • Identify performance test objectives. • Define performance test strategy: • Identify the needs of performance test tools and define performance test environment • Write performance test plan • Set up the target system and performance test beds • Design performance test cases and test suite • Performance test execution and data collection • Performance analysis and reporting
  • 20. Performance Testing Approach • Performance testing: (during production) • Measure and analyze the system performance based on performance test data and results • Performance simulation: (pre-production) • Study and estimate system performance using a simulation approach • Performance measurement at the customer site: (post-production) • Measure and evaluate system performance during system operations
  • 21. Performance Modeling Project Overview In order to analyze performance behavior, improve product performance, and serve as the foundation for capacity planning • The overall goal was to design and develop a model that would be: • realistic and general enough to be widely applicable across a variety of customer configuration and application scenarios in Altair target market. • simple enough to be easily usable by the field sales and support organizations to assist customers make system configuration decisions • possible to validate so that it could be applied with confidence.
  • 22. What is the resultant deliverable The resultant of this performance testing exercise is a “Performance and Scalability document” with results of the tests performed and hardware recommendations. The document would not be a sizing guide per se but will have: • Throughput and scalability numbers for the end users to consume • Test metrics - numbers and graphs related to the tests executed • And an internally consumable document containing performance recommendations for the developers to work on. Also, note that the resultant document is not a Sizing guide. But this document will definitely be a good input to the performance team to come up with a sizing guide for the future releases.