SlideShare a Scribd company logo
1 of 17
ASP.Net Application
Performance Tuning
Techniques
Overview
• Performance Tuning Considerations in ASP.Net
• Performance Tuning Tips in ASP.Net
• Common Performance Issues
• Best Practices for Performance Testing
• Sample Questions
PerformanceTuningConsiderationsin ASP.Net
Decisive factor in web applications development is
performance
Solutions
1. Paging through Records
2. Turn off Session State
3. Turn off View State
4. Use Caching
5. Use IsPostBack
6. Use DataSources
PerformanceTuningTipsinASP.Net
Ways to avoid performance bottlenecks in your code.
1. Disable Session State when not in use
2. Choose your Session State provider carefully
3. Avoid excessive round trips to the server
4. Use Page.IsPostback to avoid extra work on a round trip
5. Use server controls sparingly and appropriately
6. Avoid excessive server control view state
PerformanceTuningTipsin ASP.Net
Ways to avoid performance bottlenecks in your code(Contd).
7. Use Response.Write for String concatenation
8. Do not rely on exceptions in your code
9. Use early binding in Visual Basic or JScript code
10. Port call-intensive COM components to managed code:
11. Use SQL stored procedures for data access
12. Use SqlDataReader for a fast-forward, read-only data cursor
13. Cache data and output wherever possible
14. Enable Web gardening for multiprocessor computers
15. Do not forget to disable Debug mode
CommonPerformanceIssues
• Frequent code paths
• Frequent loops
• Resource cleanup
• Exceptions
CommonPerformanceIssues
• String management
• Threading
• Boxing
PerformanceTesting
• Performance Testing is the process of identifying how
an application responds to a specified set of conditions
and input.
• Multiple individual performance test scenarios (suites,
cases, scripts) are often needed to cover all of the
conditions and/or input of interest.
PerformanceObjectives
• Response time or latency.
• Throughput
• Resource utilization (CPU, network I/O, disk I/O, and
memory)
1. Latency measured at the server
2. Latency measured at the client
• Workload
Tools
• Can simulate load in terms of users, connections, data,
and in other ways
• Helps you gather performance-related metrics such as
response time, requests per second, and performance
counters from remote server computers
Tools
• Microsoft Application Center Test (ACT)
The ACT tool is included with Enterprise editions of
Visual Studio .NET.
• Microsoft Web Application Stress
You can download the Microsoft Web Application Stress
Tool at
http://www.microsoft.com/technet/itsolutions/intrane
t/downloads/webstres.mspx.
ThirdParty tools
• Mercury LoadRunner
• Compuware's QALoad
• Rational's Performance Tester
• Custom tools developed for your application.
Best Practices for Performance Testing
Dos while performing performance testing:
1. Clear the application and database logs after each
performance test run. Excessively large log files may
artificially skew the performance results.
2. Identify the correct server software and hardware to
mirror your production environment.
3. Use a single graphical user interface (GUI) client to capture end-
user response time while a load is generated on the system.
4. Include a buffer time between the incremental increases of users
during a load test.
Best Practices for Performance Testing
Dos while performing performance testing(Contd):
5. Use different data parameters for each simulated user
to create a more realistic load simulation.
6. Monitor all computers involved in the test, including
the client that generates the load.
7. Prioritize your scenarios according to critical
functionality and high-volume transactions.
8. Use a zero think time if you need to fire concurrent
requests,. This can help you identify bottleneck issues.
9. Stress test critical components of the system to assess
their independent thresholds.
Best Practices for Performance Testing
Don’ts while performing performance testing(Contd):
1. Do not allow the test system resources to cross
resource threshold limits by a significant margin during
load testing, because this distorts the data in your
results.
2. Do not run tests in live production environments that
have other network traffic.
3. Do not try to break the system during a load test. The intent of
the load test is not to break the system.
4. Do not place too much stress on the client test computers.
SampleQuestions
If the SQL script uses one of the following, performance of the script will
degrade.
• Stored Procedure
• View
• User Defined Function
• Cursors
What needs to be done to improve the performance of an ASP.NET page?
• Turn off view state
• Turn off Session state
• Use Caching
• All of the above
Thank You!
Rama Nageshwara Rao
Blog: http://mstechtips.blogspot.com
http://www.learnwebworld.com

More Related Content

What's hot

Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeterRedBlackTree
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101iradari
 
Waits alerts and switch windows
Waits alerts and switch windowsWaits alerts and switch windows
Waits alerts and switch windowsDucat
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeterWira Santos
 
Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1Mohamed Tarek
 
Performance Bottleneck Identification
Performance Bottleneck IdentificationPerformance Bottleneck Identification
Performance Bottleneck IdentificationMustufa Batterywala
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With JmeterAdam Goucher
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs JmeterAtul Pant
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeterlethibichhoa
 
Performance Testing
Performance TestingPerformance Testing
Performance Testingsharmaparish
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 
Testing Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeterTesting Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeterBlazeMeter
 
Automation Framework Presentation
Automation Framework PresentationAutomation Framework Presentation
Automation Framework PresentationBen Ngo
 

What's hot (20)

Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
 
JMeter Database Performace Testing - Keytorc Approach
JMeter Database Performace Testing - Keytorc ApproachJMeter Database Performace Testing - Keytorc Approach
JMeter Database Performace Testing - Keytorc Approach
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
QSpiders - Presentation JMeter
QSpiders - Presentation JMeterQSpiders - Presentation JMeter
QSpiders - Presentation JMeter
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Waits alerts and switch windows
Waits alerts and switch windowsWaits alerts and switch windows
Waits alerts and switch windows
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
 
Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1Performance Testing Using VS 2010 - Part 1
Performance Testing Using VS 2010 - Part 1
 
Performance Bottleneck Identification
Performance Bottleneck IdentificationPerformance Bottleneck Identification
Performance Bottleneck Identification
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Testing Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeterTesting Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeter
 
JMeter workshop
JMeter workshopJMeter workshop
JMeter workshop
 
Automation Framework Presentation
Automation Framework PresentationAutomation Framework Presentation
Automation Framework Presentation
 

Similar to Application Performance Tuning Techniques

Performance Testing
Performance TestingPerformance Testing
Performance TestingAnu Shaji
 
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
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architectureMatsuo Sawahashi
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Lari Hotari
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Lari Hotari
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmssmarar
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Shivakumara .
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSPC Adriatics
 
Training Webinar: Effective Platform Server Monitoring
Training Webinar: Effective Platform Server MonitoringTraining Webinar: Effective Platform Server Monitoring
Training Webinar: Effective Platform Server MonitoringOutSystems
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applicationsGR8Conf
 

Similar to Application Performance Tuning Techniques (20)

Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Door to perfomance testing
Door to perfomance testingDoor to perfomance testing
Door to perfomance testing
 
JMeter
JMeterJMeter
JMeter
 
Performance testing
Performance testingPerformance testing
Performance testing
 
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
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
 
Software Performance
Software Performance Software Performance
Software Performance
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
Training Webinar: Effective Platform Server Monitoring
Training Webinar: Effective Platform Server MonitoringTraining Webinar: Effective Platform Server Monitoring
Training Webinar: Effective Platform Server Monitoring
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 

Recently uploaded

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 

Recently uploaded (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 

Application Performance Tuning Techniques

  • 2. Overview • Performance Tuning Considerations in ASP.Net • Performance Tuning Tips in ASP.Net • Common Performance Issues • Best Practices for Performance Testing • Sample Questions
  • 3. PerformanceTuningConsiderationsin ASP.Net Decisive factor in web applications development is performance Solutions 1. Paging through Records 2. Turn off Session State 3. Turn off View State 4. Use Caching 5. Use IsPostBack 6. Use DataSources
  • 4. PerformanceTuningTipsinASP.Net Ways to avoid performance bottlenecks in your code. 1. Disable Session State when not in use 2. Choose your Session State provider carefully 3. Avoid excessive round trips to the server 4. Use Page.IsPostback to avoid extra work on a round trip 5. Use server controls sparingly and appropriately 6. Avoid excessive server control view state
  • 5. PerformanceTuningTipsin ASP.Net Ways to avoid performance bottlenecks in your code(Contd). 7. Use Response.Write for String concatenation 8. Do not rely on exceptions in your code 9. Use early binding in Visual Basic or JScript code 10. Port call-intensive COM components to managed code: 11. Use SQL stored procedures for data access 12. Use SqlDataReader for a fast-forward, read-only data cursor 13. Cache data and output wherever possible 14. Enable Web gardening for multiprocessor computers 15. Do not forget to disable Debug mode
  • 6. CommonPerformanceIssues • Frequent code paths • Frequent loops • Resource cleanup • Exceptions
  • 8. PerformanceTesting • Performance Testing is the process of identifying how an application responds to a specified set of conditions and input. • Multiple individual performance test scenarios (suites, cases, scripts) are often needed to cover all of the conditions and/or input of interest.
  • 9. PerformanceObjectives • Response time or latency. • Throughput • Resource utilization (CPU, network I/O, disk I/O, and memory) 1. Latency measured at the server 2. Latency measured at the client • Workload
  • 10. Tools • Can simulate load in terms of users, connections, data, and in other ways • Helps you gather performance-related metrics such as response time, requests per second, and performance counters from remote server computers
  • 11. Tools • Microsoft Application Center Test (ACT) The ACT tool is included with Enterprise editions of Visual Studio .NET. • Microsoft Web Application Stress You can download the Microsoft Web Application Stress Tool at http://www.microsoft.com/technet/itsolutions/intrane t/downloads/webstres.mspx.
  • 12. ThirdParty tools • Mercury LoadRunner • Compuware's QALoad • Rational's Performance Tester • Custom tools developed for your application.
  • 13. Best Practices for Performance Testing Dos while performing performance testing: 1. Clear the application and database logs after each performance test run. Excessively large log files may artificially skew the performance results. 2. Identify the correct server software and hardware to mirror your production environment. 3. Use a single graphical user interface (GUI) client to capture end- user response time while a load is generated on the system. 4. Include a buffer time between the incremental increases of users during a load test.
  • 14. Best Practices for Performance Testing Dos while performing performance testing(Contd): 5. Use different data parameters for each simulated user to create a more realistic load simulation. 6. Monitor all computers involved in the test, including the client that generates the load. 7. Prioritize your scenarios according to critical functionality and high-volume transactions. 8. Use a zero think time if you need to fire concurrent requests,. This can help you identify bottleneck issues. 9. Stress test critical components of the system to assess their independent thresholds.
  • 15. Best Practices for Performance Testing Don’ts while performing performance testing(Contd): 1. Do not allow the test system resources to cross resource threshold limits by a significant margin during load testing, because this distorts the data in your results. 2. Do not run tests in live production environments that have other network traffic. 3. Do not try to break the system during a load test. The intent of the load test is not to break the system. 4. Do not place too much stress on the client test computers.
  • 16. SampleQuestions If the SQL script uses one of the following, performance of the script will degrade. • Stored Procedure • View • User Defined Function • Cursors What needs to be done to improve the performance of an ASP.NET page? • Turn off view state • Turn off Session state • Use Caching • All of the above
  • 17. Thank You! Rama Nageshwara Rao Blog: http://mstechtips.blogspot.com http://www.learnwebworld.com