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

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

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