SlideShare a Scribd company logo
Software Performance
Introductions, Objectives and
Overview
Reason for performance test
 Slow applications produce user frustration
 Any feature can be source of performance
frustration
 Inappropriate resource use can be disaster
like failure.
Perception
 Load time ?
 transaction measure? (how is it different from
time measure)
 Resource utilization?
 Number of users load?
 Ability to run without interruptions?
 Black-box perspective
 Response time
 Resource utilization
 Reliability
 White-box perspective
 Code profiling
 Resource leakage
 Code coverage ( branch and statement )
Performance Perpetrator
 Response Time is total time from once
request made till completion.
 Response time can be calculated based on
queuing model M/M/1.
Formula is
R= S/1-U.
 where R is response time
 S is No of server
 U is utilization
Response time and Resource
utilization
• Example: The service time for a single component increases as the
utilization increases beyond 60 percent.
– If a transaction requires 1 second of processing by a given component, at
45 percent utilization, it could be expected to take (1/(1-0.45)=) 1.66
seconds
– At 80 percent utilization time would be (1/(1-0.8)=) 5 seconds.
– When utilization for the resource reaches 90 percent, the transaction
could be expected to take 10 seconds to make its way through that
component.
 CPU Utilization Trade offs - High Utilization
graph of the CPU does not always indicate a
performance issue.
CPU performs all calculations that are needed to
process transactions.
The more transaction-related calculations that it
performs within a given period, the higher the
throughput will achieved for that period.
As long as transaction throughput is high and
proportional to CPU utilization, this indicate that
computer is being used to the fullest advantage.
 If the response time for transactions increases to
such level that it become unacceptable, this could be
an indication that
 The processor might be swamped
 The transaction process load is too high for the System
to manage.
 The CPU is processing transactions inefficiently
 CPU cycles may be diverted
 Network Bandwidth Utilization - Network
bandwidth utilization should be captured to understand
the possible bottlenecks because of large volumes of data
is transfer
 Database size and System performance -
Performance degrades as the database size increases
which do not take care of the increasing size.
 Role of Hardware in Streaming applications - Same
bit rate video shows different behavior when played from
a USB 2.0 and 3.0 devices.
 Performance of APIs - Performance of system is sum
total of API responses + services
Other Factors
 Consistent hardware
 Consistent software
 Consistent measurement method
 Benchmarks
Scholarly Perpetrator
 Loading of unnecessary components
 Deadlocks/sleeps
 Memory leaks/Corruption
 Continuous increasing data size
 Unnecessary encryption /decryption
 Algorithms with out optimization
 Heavy Graphics
 Too much CPU or I/O bound
Common perception
 Performance testing requires clearly
identified performance goals like
 page load time of less than 4 seconds, page fetch
and rendering time of less than 2 seconds, saving
file of certain size/complexity in certain time
 Identify ranges for these goals with the
operating conditions
 For other scenarios(not in performance test
plan ) identify typical use conditions and a
subjective feel of acceptable parameters
Performance Destination
 Reduce global variables
 Optimized string sizes
 Removal of extra strings
 Late initialization
Resolvent
 Identification of features to be tested for
performance
 Set of performance goals for each feature –
( response time, reliability and indicative
ranges for resource utilization, )
 Specification of Test environment
 creation of tests and scenarios
 Test execution and data collection
 Analysis
 Iterations of performance tests after changes
Testing Process
 All features are not equal priority
 Before performance testing begins prioritize
features
 Most used features
 Critical features
 Non-feature actions
Portent Prioritization
 Performance Testing at
 Unit Level??
 Integration Level??
 System Level??
 System Integration Level??
 Which is better?
 First performance test cycle??
 Last performance test cycle??
 Why?
Time for performance testing
 Performance testing process should start from the
stage which is determined by the risk associated with
performance of the system.
 If risk based testing method should adopted,
performance risks should identified and prioritized
at the start of project.
 If performance is deemed to be a high priority risk area,
performance testing is typically started earlier.
 Client hardware benchmarking is also important in
Performance testing.
 The hardware incapability may provide faulty results, which
leads confusion of performance issue of server.
 Memory , CPU (cycles must be taken care when dealing
with multi-thread applications), network bandwidth etc.
should be benchmarked prior to start the performance test.
 Benchmarking of client machine helps in getting a
better idea of how much throughput could be
attainable, and this could be useful in scaling
process.
Benchmarking of client hardware
 dynamic analysis performed on the code to
monitor the code as the program executes.
 Profiling is the collection of performance analysis
data of a software at execution.
 Profiling helps improve the software’s performance
through code optimization.
Code profiling
 Why Code Profiling?
• Profiling is made to optimize the code with issues
• Profiling:
– Identifies Bottlenecks in Performance of the Code (program)
– Utilization Catches Memory and Resource Leaks
– Determines the subroutines/ functions consuming the longest
time to execute
• Profiling can improve the overall performance of the
code, and thereby the whole software.
 What to look for while Profiling?
 Profiling tools basically look into the code for specific
areas of concern like:
 Resource/Memory Leaks
 Library Calls (Static as well as Dynamic)
 Functions execution time mostly etc.
 A leak occurs when a program uses resources on
a computer but never releases the resources.
 The resources can include handles, physical
RAM, the paging file, system resources, etc.
 normally it is the result of a defect in a program that prevents it
from freeing memory that it no longer needs
 Symptoms of a memory leak include –
system hangs,
slow system performance, and
program memory error messages.
Leaks
 Leaks: Why an issue?
 It can diminish the performance of the computer -
 By reducing the amount of available memory.
OR
 Too much of the available memory may become allocated and
the system/application may stop working correctly, fail, or slow
down unacceptably.
• Memory Leak Scenarios –
– The following code sample depicts a Memory Leak
Memory Leak:
“x” has not been freed
Conclusion
 it can demonstrate that the system meets
performance criteria
 It can compare two systems to find which
performs better
 It can measure what parts of the system or
workload cause the system to perform badly
Ad

More Related Content

What's hot (20)

Fault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating systemFault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating system
anujos25
 
Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17
koolkampus
 
Performance testing
Performance testingPerformance testing
Performance testing
Chalana Kahandawala
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computing
Palani murugan
 
SRE Tools
SRE ToolsSRE Tools
SRE Tools
Gurbakash Phonsa
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
koolkampus
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
prakashjjaya
 
Fault tolerance techniques
Fault tolerance techniquesFault tolerance techniques
Fault tolerance techniques
ECEDepartmentJSREC
 
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Alexandru Ersenie
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
Lekashri Subramanian
 
Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)
Peter Tröger
 
Fault tolerant presentation
Fault tolerant presentationFault tolerant presentation
Fault tolerant presentation
skadyan1
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test Results
Eric Proegler
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
Ehsan Ilahi
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overview
ghayour abbas
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
 
Fault tolerant real-time scheduling
Fault tolerant real-time schedulingFault tolerant real-time scheduling
Fault tolerant real-time scheduling
Reza Ramezani
 
Fault tolerance techniques tsp
Fault tolerance techniques tspFault tolerance techniques tsp
Fault tolerance techniques tsp
Pradeep Kumar TS
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault Tolerance
Ankit Singh
 
1 introduction
1 introduction1 introduction
1 introduction
hanmya
 
Fault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating systemFault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating system
anujos25
 
Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17
koolkampus
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computing
Palani murugan
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
koolkampus
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
prakashjjaya
 
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Alexandru Ersenie
 
Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)
Peter Tröger
 
Fault tolerant presentation
Fault tolerant presentationFault tolerant presentation
Fault tolerant presentation
skadyan1
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test Results
Eric Proegler
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
Ehsan Ilahi
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overview
ghayour abbas
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
 
Fault tolerant real-time scheduling
Fault tolerant real-time schedulingFault tolerant real-time scheduling
Fault tolerant real-time scheduling
Reza Ramezani
 
Fault tolerance techniques tsp
Fault tolerance techniques tspFault tolerance techniques tsp
Fault tolerance techniques tsp
Pradeep Kumar TS
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault Tolerance
Ankit Singh
 
1 introduction
1 introduction1 introduction
1 introduction
hanmya
 

Similar to Software Performance (20)

Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
Charu Anand
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
veehikle
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
MAshok10
 
Door to perfomance testing
Door to perfomance testingDoor to perfomance testing
Door to perfomance testing
Dharshana Kasun Warusavitharana
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
Atul Pant
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
Qspiders - Software Testing Training Institute
 
Oracle database performance diagnostics - before your begin
Oracle database performance diagnostics  - before your beginOracle database performance diagnostics  - before your begin
Oracle database performance diagnostics - before your begin
Hemant K Chitale
 
Database performance management
Database performance managementDatabase performance management
Database performance management
scottaver
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
Perfecto by Perforce
 
Visual Studio Profiler
Visual Studio ProfilerVisual Studio Profiler
Visual Studio Profiler
Betclic Everest Group Tech Team
 
Performance Optimization
Performance OptimizationPerformance Optimization
Performance Optimization
Neha Thakur
 
Application Performance Tuning Techniques
Application Performance Tuning TechniquesApplication Performance Tuning Techniques
Application Performance Tuning Techniques
Ram Nagesh
 
Performance testing wreaking balls
Performance testing wreaking ballsPerformance testing wreaking balls
Performance testing wreaking balls
Leonid Grinshpan, Ph.D.
 
JMeter
JMeterJMeter
JMeter
Md Samsul Kabir
 
Debs 2011 tutorial on non functional properties of event processing
Debs 2011 tutorial  on non functional properties of event processingDebs 2011 tutorial  on non functional properties of event processing
Debs 2011 tutorial on non functional properties of event processing
Opher Etzion
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
kamal
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
Charu Anand
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
veehikle
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
MAshok10
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
Atul Pant
 
Oracle database performance diagnostics - before your begin
Oracle database performance diagnostics  - before your beginOracle database performance diagnostics  - before your begin
Oracle database performance diagnostics - before your begin
Hemant K Chitale
 
Database performance management
Database performance managementDatabase performance management
Database performance management
scottaver
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
Perfecto by Perforce
 
Performance Optimization
Performance OptimizationPerformance Optimization
Performance Optimization
Neha Thakur
 
Application Performance Tuning Techniques
Application Performance Tuning TechniquesApplication Performance Tuning Techniques
Application Performance Tuning Techniques
Ram Nagesh
 
Debs 2011 tutorial on non functional properties of event processing
Debs 2011 tutorial  on non functional properties of event processingDebs 2011 tutorial  on non functional properties of event processing
Debs 2011 tutorial on non functional properties of event processing
Opher Etzion
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
kamal
 
Ad

Recently uploaded (20)

Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptxWebinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
MSP360
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Does Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should KnowDoes Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should Know
Pornify CC
 
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of ExchangesJignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah Innovator
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
The Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdfThe Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdf
Precisely
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
UiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer OpportunitiesUiPath Agentic Automation: Community Developer Opportunities
UiPath Agentic Automation: Community Developer Opportunities
DianaGray10
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptxWebinar - Top 5 Backup Mistakes MSPs and Businesses Make   .pptx
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptx
MSP360
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Does Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should KnowDoes Pornify Allow NSFW? Everything You Should Know
Does Pornify Allow NSFW? Everything You Should Know
Pornify CC
 
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of ExchangesJignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah - The Innovator and Czar of Exchanges
Jignesh Shah Innovator
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
The Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdfThe Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdf
Precisely
 
Ad

Software Performance

  • 3. Reason for performance test  Slow applications produce user frustration  Any feature can be source of performance frustration  Inappropriate resource use can be disaster like failure.
  • 4. Perception  Load time ?  transaction measure? (how is it different from time measure)  Resource utilization?  Number of users load?  Ability to run without interruptions?
  • 5.  Black-box perspective  Response time  Resource utilization  Reliability  White-box perspective  Code profiling  Resource leakage  Code coverage ( branch and statement ) Performance Perpetrator
  • 6.  Response Time is total time from once request made till completion.  Response time can be calculated based on queuing model M/M/1. Formula is R= S/1-U.  where R is response time  S is No of server  U is utilization Response time and Resource utilization
  • 7. • Example: The service time for a single component increases as the utilization increases beyond 60 percent. – If a transaction requires 1 second of processing by a given component, at 45 percent utilization, it could be expected to take (1/(1-0.45)=) 1.66 seconds – At 80 percent utilization time would be (1/(1-0.8)=) 5 seconds. – When utilization for the resource reaches 90 percent, the transaction could be expected to take 10 seconds to make its way through that component.
  • 8.  CPU Utilization Trade offs - High Utilization graph of the CPU does not always indicate a performance issue. CPU performs all calculations that are needed to process transactions. The more transaction-related calculations that it performs within a given period, the higher the throughput will achieved for that period. As long as transaction throughput is high and proportional to CPU utilization, this indicate that computer is being used to the fullest advantage.
  • 9.  If the response time for transactions increases to such level that it become unacceptable, this could be an indication that  The processor might be swamped  The transaction process load is too high for the System to manage.  The CPU is processing transactions inefficiently  CPU cycles may be diverted
  • 10.  Network Bandwidth Utilization - Network bandwidth utilization should be captured to understand the possible bottlenecks because of large volumes of data is transfer  Database size and System performance - Performance degrades as the database size increases which do not take care of the increasing size.  Role of Hardware in Streaming applications - Same bit rate video shows different behavior when played from a USB 2.0 and 3.0 devices.  Performance of APIs - Performance of system is sum total of API responses + services Other Factors
  • 11.  Consistent hardware  Consistent software  Consistent measurement method  Benchmarks Scholarly Perpetrator
  • 12.  Loading of unnecessary components  Deadlocks/sleeps  Memory leaks/Corruption  Continuous increasing data size  Unnecessary encryption /decryption  Algorithms with out optimization  Heavy Graphics  Too much CPU or I/O bound Common perception
  • 13.  Performance testing requires clearly identified performance goals like  page load time of less than 4 seconds, page fetch and rendering time of less than 2 seconds, saving file of certain size/complexity in certain time  Identify ranges for these goals with the operating conditions  For other scenarios(not in performance test plan ) identify typical use conditions and a subjective feel of acceptable parameters Performance Destination
  • 14.  Reduce global variables  Optimized string sizes  Removal of extra strings  Late initialization Resolvent
  • 15.  Identification of features to be tested for performance  Set of performance goals for each feature – ( response time, reliability and indicative ranges for resource utilization, )  Specification of Test environment  creation of tests and scenarios  Test execution and data collection  Analysis  Iterations of performance tests after changes Testing Process
  • 16.  All features are not equal priority  Before performance testing begins prioritize features  Most used features  Critical features  Non-feature actions Portent Prioritization
  • 17.  Performance Testing at  Unit Level??  Integration Level??  System Level??  System Integration Level??  Which is better?  First performance test cycle??  Last performance test cycle??  Why? Time for performance testing
  • 18.  Performance testing process should start from the stage which is determined by the risk associated with performance of the system.  If risk based testing method should adopted, performance risks should identified and prioritized at the start of project.  If performance is deemed to be a high priority risk area, performance testing is typically started earlier.
  • 19.  Client hardware benchmarking is also important in Performance testing.  The hardware incapability may provide faulty results, which leads confusion of performance issue of server.  Memory , CPU (cycles must be taken care when dealing with multi-thread applications), network bandwidth etc. should be benchmarked prior to start the performance test.  Benchmarking of client machine helps in getting a better idea of how much throughput could be attainable, and this could be useful in scaling process. Benchmarking of client hardware
  • 20.  dynamic analysis performed on the code to monitor the code as the program executes.  Profiling is the collection of performance analysis data of a software at execution.  Profiling helps improve the software’s performance through code optimization. Code profiling
  • 21.  Why Code Profiling? • Profiling is made to optimize the code with issues • Profiling: – Identifies Bottlenecks in Performance of the Code (program) – Utilization Catches Memory and Resource Leaks – Determines the subroutines/ functions consuming the longest time to execute • Profiling can improve the overall performance of the code, and thereby the whole software.
  • 22.  What to look for while Profiling?  Profiling tools basically look into the code for specific areas of concern like:  Resource/Memory Leaks  Library Calls (Static as well as Dynamic)  Functions execution time mostly etc.
  • 23.  A leak occurs when a program uses resources on a computer but never releases the resources.  The resources can include handles, physical RAM, the paging file, system resources, etc.  normally it is the result of a defect in a program that prevents it from freeing memory that it no longer needs  Symptoms of a memory leak include – system hangs, slow system performance, and program memory error messages. Leaks
  • 24.  Leaks: Why an issue?  It can diminish the performance of the computer -  By reducing the amount of available memory. OR  Too much of the available memory may become allocated and the system/application may stop working correctly, fail, or slow down unacceptably.
  • 25. • Memory Leak Scenarios – – The following code sample depicts a Memory Leak Memory Leak: “x” has not been freed
  • 26. Conclusion  it can demonstrate that the system meets performance criteria  It can compare two systems to find which performs better  It can measure what parts of the system or workload cause the system to perform badly

Editor's Notes

  • #5: Responsiveness - means responding to user inputs quickly. It may not mean that application performs the task faster. Think of super-market queue. If you interrupt and serve smaller customers first, you will be more responsive however, the interrupt may cost you more and overall items scanned per minute may be less. Of course, responsiveness may be desired in some cases even if it makes overall system less efficient.
  翻译: