Troubleshooting Web Site Performance Issues with Visual Studio Team System Martin Kulov Director.NET Development National Academy for Software Development.

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Web Performance Tuning Lin Wang, Ph.D. US Department of Education Copyright [Lin Wang] [2004]. This work is the intellectual property of the author. Permission.
Internet Information Server 6.0. IIS 6.0 Enhancements  Fundamental changes, aimed at: Reliability & Availability Reliability & Availability Performance.
Building Better Websites Jean-Luc David Developer Advisor Microsoft Canada
Module 10 Planning Microsoft® Exchange Server 2010 Monitoring and Troubleshooting.
11 MONITORING MICROSOFT WINDOWS SERVER 2003 Chapter 3.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Virtualized Workloads Supported Instant Messaging (IM) IM Conferencing Presence Enterprise Voice (PSTN) Audio/Video Conferencing Web Conferencing.
Module 14 Monitoring and Maintaining Windows Server® 2008 Servers.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
CLR: Garbage Collection Inside Out
Availability Configuration PerformanceCapacity.
Module 15: Monitoring. Overview Formulate requirements and identify resources to monitor in a database environment Types of monitoring that can be carried.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Chapter 1 Dynamic Web Page Design Y. Chen, Ph.D. ::.NET Introduction ::
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
Key Concepts About Performance Factors Affecting SQL Performance SQL Performance Tuning Methodologies SQL Performance Tuning Tools 1.
Paul Jaffray Technical Services Manager Promedica Health System, Inc. Wednesday March 6th, 2002 Session 5823: Working with Windows NT Performance Data.
© Wiley Inc All Rights Reserved. MCSE: Windows Server 2003 Active Directory Planning, Implementation, and Maintenance Study Guide, Second Edition.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Agenda for Today Do Chapter 14 Final Project Review for Final.
Monitoring Windows Server 2012
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
SQLRX – SQL Server Administration – Tips From the Trenches SQL Server Administration – Tips From the Trenches Troubleshooting Reports of Sudden Slowdowns.
Sofia, Bulgaria | 9-10 October Troubleshooting Web Site Performance Issues with Visual Studio Team System Martin Kulov Director,.NET Development National.
Chapter 10 System Monitoring Issues Performance Benchmarks NT Server Services Users and Server Access Information Task Manager for Applications Ram and.
ASP.NET Architecture Internals Mike Shaw Developer & Platform Group Microsoft Ltd.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
14.70 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 14: Monitoring Windows Server.
Enterprise Library Extensibility Brian Button VP of Engineering Asynchrony Solutions, Inc.
Microsoft Management Seminar Series SMS 2003 Change Management.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Troubleshooting SQL Server Performance: Tips &Tools Amit Khandelwal.
Windows Server 2003 系統效能監視 林寶森
MISSION CRITICAL COMPUTING Siebel Database Considerations.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Presented by Vishy Grandhi.  Lesson 1: AX Overview  Lesson 2: Role based security  Lesson 3: Monitoring  Troubleshooting.
Module 14 Monitoring and Maintaining Windows Server® 2008 Servers.
Delivering Excellence in Software Engineering ® EPAM Systems. All rights reserved. Configuration.
FINDING THE “MAKE IT FASTER!” BUTTON AND HITTING IT! Ewan MacKellar Senior Premier Field Engineer Microsoft SESSION CODE: SVR306 (c) 2011 Microsoft. All.
Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications.
Diagnosing Performance with Wait Statistics Robert L Davis Principal Database
Perfmon Basics Rick Heiges, SQL Server MVP.  Our Sponsors  Our Venue  SQLPASS NYC Chapter  Volunteers for SQL Saturday #380  Our Speakers Thank You.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
© 2014 Concentrix Corporation 1 Middleware Application Dashboard [26th-Dec-15 to 1st-Jan-15] IT Application Support Concentrix, INDIA.
WINDOWS KPI’S Bruce Adamczak Senior Premier Field Engineer
Project Server 2010 – Performance Part 1: Setup, Test Execution, and Results (Level 300) Mike Shughrue Principal Consultant Microsoft Corporation
Parametric Bottlenecks Testing Catalogue (POSCA)
Parametric Bottlenecks Testing Catalogue (POSCA)
性能测试那些事儿 刘博 ..
Introduction to Visual Basic 2008 Programming
Query Performance Tuning: Start to Finish
W3 Status Analyzer.
Parametric Bottlenecks Testing Catalogue (POSCA)
Rick Heiges, SQL Server MVP
MGB 2003 Adam Calderon – C# MVP Principal Engineer Interknowlogy
Software Architecture in Practice
Migration Strategies – Business Desktop Deployment (BDD) Overview
11/12/2018 6:58 PM © 2004 Microsoft Corporation. All rights reserved.
Web Development Using ASP .NET
Debugging Discussion [troubleshooting][managed][Native]
DAT381 Team Development with SQL Server 2005
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
DEV315 Best Practices for running IIS 6.0 and ASP.NET
What’s Happening with my App, Application Insights?
Presentation transcript:

Troubleshooting Web Site Performance Issues with Visual Studio Team System Martin Kulov Director.NET Development National Academy for Software Development MVP – VSTS, MCT, MCSD, MCPD

What We Will Cover How testing processes can help us deliver quality code Measuring performance of ASP.NET sites Improving ASP.NET performance

Session Prerequisites.NET Framework intermediate level ASP.NET intermediate level Windows Counters basic level Level 200

Agenda WWW (Why, When, What) to test Web Applications Tests Performance Testing ASP.NET applications Profiling ASP.NET Applications Measuring ASP.NET Applications Tuning ASP.NET Applications

Why we should test Quality increase Finding and fixing design problems Lowering TCO and maintenance costs

When we should test As often as possible As early as possible Test automation would help a lot

What we should test Critical business features Everything else Everything else The clearer performance goals are, the better we will know what to test PMs should get these goals defined from the start

Testing Web Applications Testing types Functional Testing Performance Testing Security Testing Reliability Testing Usability Testing others …

Performance Testing Most critical and often neglected type of test It should be done during each phase of the project There are three main principles MeasureMeasureMeasure Set your desired goals Tune the application

Setting your goals Response time Latency on the server Latency on the client (TTFB and TTLB) Throughput Resource utilization Identify problem areas Define workload profiles

Profiling ASP.NET Applications Profiling is the process of collecting data We can measure the result Profiling is done though code instrumentation In instrumentation we inject additional code to the system so it can generate events

System Resources Counters CPU Counters Processor\% Processor Time Processor\% Privileged Time Processor\% Interrupt Time System\Processor Queue Length System\Context Switches/sec

System Resources Counters Memory Counters Memory\Available Mbytes Memory\Page Reads/sec Memory\Pages/sec Memory\Pool Nonpaged Bytes Server\Pool Nonpaged Failures Server\Pool Paged Failures Server\Pool Nonpaged Peak Memory\Cache Bytes Memory\Cache Faults/sec

System Resources Counters Network Counters Network Interface\Bytes Total/sec Network Interface\Bytes Received/sec Network Interface\Bytes Sent/sec Server\Bytes Total/sec [Protocol_Object]\Segments Received/sec [Protocol_Object]\Segments Sent/sec Processor\% Interrupt Time

System Resources Counters Disk I/O Counters PhysicalDisk\Avg. Disk Queue Length PhysicalDisk\Avg. Disk Read Queue Length PhysicalDisk\Avg. Disk Write Queue Length PhysicalDisk\Avg. Disk sec/Read PhysicalDisk\Avg. Disk sec/Transfer PhysicalDisk\Disk Writes/sec

Managed Code Counters Memory Counters Process\Private Bytes.NET CLR Memory\% Time in GC.NET CLR Memory\# Bytes in all Heaps.NET CLR Memory\# Gen N Collections.NET CLR Memory\# of Pinned Objects.NET CLR Memory\Large Object Heap Size

Managed Code Counters Other Counters Working Set Process\Working Set Exceptions.NET CLR Exceptions\# of Exceps Thrown / sec Contention.NET CLR LocksAndThreads\Contention Rate/sec.NET CLR LocksAndThreads\Current Queue Length

Managed Code Counters Other Counters Threading.NET CLR LocksAndThreads\# of current physical Threads Thread\% Processor Time Thread\Context Switches/sec Thread\Thread State Code Access Security.NET CLR Security\Total RunTime Checks.NET CLR Security\Stack Walk Depth

ASP.NET Counters Worker Process ASP.NET\Worker Process Restarts Throughput ASP.NET Applications\Requests/Sec Web Service\ISAPI Extension Requests/sec ASP.NET\Requests Current ASP.NET Applications\Requests Executing ASP.NET Applications\Requests Timed Out Response time / latency ASP.NET\ Request Execution Time

ASP.NET Counters Cache ASP.NET Applications\Cache Total Entries ASP.NET Applications\Cache Total Hit Ratio ASP.NET Applications\Cache Total Turnover Rate ASP.NET Applications\Cache API Hit Ratio ASP.NET Applications\Cache API Turnover Rate ASP.NET Applications\Output Cache Entries ASP.NET Applications\Output Cache Hit Ratio ASP.NET Applications\Output Cache Turnover Rate

Tuning ASP.NET Applications Tuning Process Performance tuning is an iterative process On every step we should identify and eliminate bottlenecks Retest and measure again to see if we are closer to our performance goals

Tuning ASP.NET Applications Tuning Categories Application Configuration settings web.configPlatform.NET Framework Web Server OSDatabaseSystem CPU, Memory, I/O, etc…

Tuning ASP.NET Applications Tune the thread pool <processModel enable="true" timeout="Infinite“ idleTimeout="Infinite“ shutdownTimeout="0:00:05" requestLimit="Infinite" requestQueueLimit="5000" restartQueueLimit="10“ memoryLimit="60“ webGarden="false" cpuMask="0xffffffff" userName="machine“ password="AutoGenerate" logLevel="Errors“ clientConnectedCheck="0:00:05“ comAuthenticationLevel="Connect“comImpersonationLevel="Impersonate“responseDeadlockInterval="00:03:00" maxWorkerThreads="20“ maxIoThreads="20"/>

Tuning ASP.NET Applications Tune the thread pool <httpRuntime executionTimeout="90" maxRequestLength="4096“ useFullyQualifiedRedirectUrl="false"minFreeThreads="8"minLocalRequestFreeThreads="4"appRequestQueueLimit="100"enableVersionHeader="true"/>

Tuning ASP.NET Applications Recommended settings Recommended Threading Settings for Reducing Contention Configuration settingDefault (.NET 1.1)Recommended value maxconnection212 * #CPUs maxIoThreads20100 maxWorkerThreads20100 minFreeThreads888 * #CPUs minLocalRequestFree- Threads476 * #CPUs

Tuning ASP.NET Applications Other settings Set memory limit IIS 6.0 manager Set timeouts Evaluate use of RequestQueueLimit

Tuning ASP.NET Applications Other settings Disable tracing and debugging Disable session state Disable View State <configuration><system.web> </system.web></configuration>

Demonstration 1 Profiling and load testing ASP.NET applications with Visual Studio Team System 2005 for Software Testers

Session Summary The inevitable software testing process Measuring performance of ASP.NET applications Tuning performance of ASP.NET applications Visual Studio Team System 2005 for Software Testing provide integrated profiling, load testing and reporting environment

Next Steps Create load profiles for your application Prepare and analyze reports from load testing Identify and resolve bottlenecks Tune Windows OS performance Tune ADO.NET performance Tune SQL Server performance

For More Information Microsoft patterns & practices Improving.NET Application Performance and Scalability /library/en-us/dnpag/html/scalenet.asp

Additional Resources Rico Mariani’s blog Maoni's WebLog Bulgarian Association of Software Developers Martin Kulov’s blog

Questions and Answers Submit text questions using the “Ask” button. Don’t forget to fill out the survey. For upcoming and previously live webcasts: Got webcast content ideas? Contact us at: Today's webcast was presented using Microsoft Office Live Meeting. Get a free 14- day trial by visiting: Today's webcast was presented using Microsoft Office Live Meeting. Get a free 14- day trial by visiting: