throttling resources and aiding performance on iis using windows system resource manager (wsrm)...
TRANSCRIPT
Throttling Resources Throttling Resources and Aiding Performance and Aiding Performance on IIS Using Windows on IIS Using Windows System Resource System Resource Manager (WSRM)Manager (WSRM)Chris AdamsChris AdamsWeb Platform Supportability LeadWeb Platform Supportability Lead
Chris StackhouseChris StackhouseProgram ManagerProgram Manager
Microsoft CorporationMicrosoft Corporation
What We Will Cover:What We Will Cover:
Introduction to MicrosoftIntroduction to Microsoft®® Windows Windows®® System Resource Manager (WSRM)System Resource Manager (WSRM)
Understanding and using WSRMUnderstanding and using WSRM
What to do…and not to do…with WSRMWhat to do…and not to do…with WSRM
Why to use WSRM to manage Web Why to use WSRM to manage Web ApplicationsApplications
Applying WSRM policies to MicrosoftApplying WSRM policies to Microsoft®® Internet Information Services (IIS) Internet Information Services (IIS) processesprocesses
SummarySummary
Introduction to WSRMIntroduction to WSRM
WSRM is a resource manager designed WSRM is a resource manager designed to manage applications and resources to manage applications and resources on Microsofton Microsoft®® Windows Server™ 2003 Windows Server™ 2003
Management is done using policies and Management is done using policies and schedulesschedules
Resources managed include CPU usage Resources managed include CPU usage and memory usageand memory usage
Many applications are capable of being Many applications are capable of being managed using WSRMmanaged using WSRM
Introduction to WSRMIntroduction to WSRM
Installation of WSRM is done by using the Installation of WSRM is done by using the additional CD provided with the Operating additional CD provided with the Operating SystemSystem
WSRM is only available to those who WSRM is only available to those who purchase the following Windows Server 2003 purchase the following Windows Server 2003 Family products:Family products:
EnterpriseEnterprise
Data CenterData Center
To install, do one of the following:To install, do one of the following:Open %cddrive%\readme.htm and follow Open %cddrive%\readme.htm and follow instructionsinstructions
Execute %cddrive%\setup\%arch%\setup.exeExecute %cddrive%\setup\%arch%\setup.exe
Understanding and Using Understanding and Using WSRMWSRMResource Allocation PoliciesResource Allocation PoliciesResource allocation policies can manage the Resource allocation policies can manage the
following:following:CPU BandwidthCPU Bandwidth
Divide the CPU time among running processes by %CPUDivide the CPU time among running processes by %CPU
Prevents one process taking more than its share of the machinePrevents one process taking more than its share of the machine
Limits are only applied if CPU is in demand Limits are only applied if CPU is in demand
Memory LimitsMemory LimitsIf CPU bandwidth isn’t working, then extend the capabilities If CPU bandwidth isn’t working, then extend the capabilities to use memory limitsto use memory limits
It should only be used if the application is unable to manage It should only be used if the application is unable to manage its own memoryits own memory
AffinityAffinityUsed to control the total number of CPUs on multiple CPUs Used to control the total number of CPUs on multiple CPUs that an application can “use”that an application can “use”
Understanding… (2)Understanding… (2)Resource Allocation PoliciesResource Allocation Policies
Assign the process Assign the process criteria to a resource criteria to a resource allocation policyallocation policy
Multiple policies may Multiple policies may exist per user or per exist per user or per criteriacriteria
Allocating CPU Allocating CPU resources takes away resources takes away from the default pool of from the default pool of 100 %100 %Note: Always leave about Note: Always leave about 5% remaining. Never 5% remaining. Never allocate all 100 percent allocate all 100 percent although UI allows it.although UI allows it.
Understanding and Using Understanding and Using WSRMWSRMProcess Matching CriteriaProcess Matching CriteriaThe ability to build “rules” to govern The ability to build “rules” to govern
what is to be managed as a set (notice what is to be managed as a set (notice – – setset))
Criteria can be a single rule or multiple Criteria can be a single rule or multiple rules to be appliedrules to be applied
Available Process Matching Criteria:Available Process Matching Criteria:User-Inputted StringUser-Inputted String
Registered ServiceRegistered Service
Running ProcessRunning Process
Program fileProgram file
Understanding and Using Understanding and Using WSRMWSRMProcess Matching CriteriaProcess Matching CriteriaEnter Criteria name Enter Criteria name
that is recognizablethat is recognizableClick Add to build Click Add to build criteriacriteriaEnter string directly Enter string directly in dialog box, or in dialog box, or choose from pre-choose from pre-defined options in defined options in drop-downdrop-downFor IIS, for example – For IIS, for example – enter:enter:
w3wp.exe .*DefaultAppPoolw3wp.exe .*DefaultAppPool
What To Do…and Not To Do…What To Do…and Not To Do…with WSRMwith WSRM
When a application can manage itself, When a application can manage itself, such as control CPU or memory limits, it such as control CPU or memory limits, it is not recommended to use WSRMis not recommended to use WSRM
Examples: IIS can manage memory usage Examples: IIS can manage memory usage and take actions based on the configured and take actions based on the configured options where WSRM cannot “take actions”options where WSRM cannot “take actions”
Always start with CPU throttling, or Always start with CPU throttling, or usage, and move to memory only when usage, and move to memory only when necessarynecessary
Do not use WSRM alongside other Do not use WSRM alongside other resource manager toolsresource manager tools
Why Use WSRM in Web Why Use WSRM in Web ApplicationsApplications
Web applications is one, if not the most, Web applications is one, if not the most, “unmanaged” environments on Windows“unmanaged” environments on Windows
Application code is often deployed on servers Application code is often deployed on servers without any direct understanding by without any direct understanding by administrators on what the application is administrators on what the application is using or going to useusing or going to use
This is commonly the case in Mainframe shops, This is commonly the case in Mainframe shops, etc. such as discussed in Stan Murawski’s webcastetc. such as discussed in Stan Murawski’s webcasthttp://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032265860&CountryCode=US
Management of Web applications is done by Management of Web applications is done by process (also known as – application pool)process (also known as – application pool)
WSRM is dependent somewhat on a good strategy WSRM is dependent somewhat on a good strategy of isolation already in placeof isolation already in place
Why Use WSRM in Web Why Use WSRM in Web ApplicationsApplications
WSRM can aid performance overall by WSRM can aid performance overall by allocating and pulling resources when allocating and pulling resources when necessarynecessary
Well BehavedWell BehavedApplicationApplication
MisbehavedMisbehavedApplicationApplication
DefaultDefault
WSRM will allow WSRM will allow misbehaved misbehaved applications more applications more than 30% when well than 30% when well behaved behaved applications aren’t applications aren’t using its allocated using its allocated 65%65%
Demonstration OneDemonstration One
Configuring policies in WSRM for Configuring policies in WSRM for IISIIS
Demonstration TwoDemonstration Two
Setting IIS worker processes up Setting IIS worker processes up to be managed by WSRMto be managed by WSRM
Session SummarySession Summary
IIS applications are often misbehaving IIS applications are often misbehaving causing limited resources to be availablecausing limited resources to be available
WSRM can be used to effectively manage IIS WSRM can be used to effectively manage IIS applications and can do so at the application applications and can do so at the application pool levelpool level
WSRM offers several advantages over WSRM offers several advantages over application management of resources – do application management of resources – do not use both thoughnot use both though
WSRM is only available on systems running WSRM is only available on systems running MicrosoftMicrosoft®® Windows Server™ 2003 Data Windows Server™ 2003 Data Center and Enterprise editionsCenter and Enterprise editions
For More Information…on For More Information…on WSRMWSRM
Windows System Resource ManagerWindows System Resource ManagerThe Windows System Resource Manager (WSRM) is available in Windows Server The Windows System Resource Manager (WSRM) is available in Windows Server 2003, Enterprise Edition and Datacenter Edition. WSRM provides resource 2003, Enterprise Edition and Datacenter Edition. WSRM provides resource management comparable to mainframe and UNIX-platform solutions, and management comparable to mainframe and UNIX-platform solutions, and enables the allocation of resources among multiple applications based on enables the allocation of resources among multiple applications based on business priorities.business priorities.http://www.microsoft.com/windowsserver2003/downloads/wsrm.mspx
Windows System Resource Manager Frequently Asked QuestionsWindows System Resource Manager Frequently Asked QuestionsFind answers to commonly asked questions about Windows System Resource Find answers to commonly asked questions about Windows System Resource Management.Management.http://www.microsoft.com/windowsserver2003/techinfo/overview/wsrmfaq.mspx
Windows System Resource Manager—Fast FactsWindows System Resource Manager—Fast FactsThe Windows System Resource Manager, WSRM, is a Windows Server 2003, The Windows System Resource Manager, WSRM, is a Windows Server 2003, Enterprise Edition, and Windows Server 2003, Datacenter Edition, feature that Enterprise Edition, and Windows Server 2003, Datacenter Edition, feature that enables you to manage CPU and memory utilization on a per application basis.enables you to manage CPU and memory utilization on a per application basis.http://www.microsoft.com/windowsserver2003/techinfo/overview/wsrmfastfacts.mspx
Windows System Resource Manager Technology CenterWindows System Resource Manager Technology CenterWindows System Resource Manager (WSRM) is a feature of Windows Server Windows System Resource Manager (WSRM) is a feature of Windows Server 2003, Enterprise and Datacenter editions. Using WSRM, administrators can 2003, Enterprise and Datacenter editions. Using WSRM, administrators can control how CPU resources are allocated to applications, services, and processes. control how CPU resources are allocated to applications, services, and processes. Managing resources with improves system performance and reduces the chance Managing resources with improves system performance and reduces the chance that these applications, services, or processes will interfere with the rest of the that these applications, services, or processes will interfere with the rest of the system. WSRM also creates a more consistent and predictable experience for system. WSRM also creates a more consistent and predictable experience for users.users.http://www.microsoft.com/windowsserver2003/technologies/management/wsrm/default.mspx
For More Information…on For More Information…on WSRMWSRM
Windows System Resource Manager Interactive SimulationWindows System Resource Manager Interactive SimulationTake a test drive through Windows System Resource Manager (WSRM) to find out how you Take a test drive through Windows System Resource Manager (WSRM) to find out how you can manage, allocate, and prioritize your computer's processor and memory resources can manage, allocate, and prioritize your computer's processor and memory resources among multiple applications—thus enabling consolidation onto a single server. You can among multiple applications—thus enabling consolidation onto a single server. You can start and stop the training as your time allows. The interactive lesson consists of five short start and stop the training as your time allows. The interactive lesson consists of five short exercises that take less than five minutes each.exercises that take less than five minutes each.http://www.microsoft.com/windowsserver2003/techinfo/training/wsrm/default.mspx
How Windows System Resource Manager Works - Scalability Services: Windows How Windows System Resource Manager Works - Scalability Services: Windows Server 2003Server 2003Explains the architecture of Windows System Resource Manager (WSRM) and illustrates the Explains the architecture of Windows System Resource Manager (WSRM) and illustrates the processes through which resources are managed. Explains the dynamic process priority processes through which resources are managed. Explains the dynamic process priority management algorithm that Windows System Resource Manager uses to determines how to management algorithm that Windows System Resource Manager uses to determines how to allocate system resources among multiple processes.allocate system resources among multiple processes.http://www.microsoft.com/Resources/Documentation/windowsserv/2003/all/techref/en-us/w2k3tr_wsrm_how.asp
WSRM Command-Line InterfaceWSRM Command-Line InterfaceSearch Microsoft.com for: Go WSRM Command-Line InterfacePublished: September 15, Search Microsoft.com for: Go WSRM Command-Line InterfacePublished: September 15, 2003 Download 450 KB Microsoft Word file Related Links • • • • Summary With Windows 2003 Download 450 KB Microsoft Word file Related Links • • • • Summary With Windows System Resource Manager (WSRM), administrators can control how CPU resources are System Resource Manager (WSRM), administrators can control how CPU resources are allocated to applications, services, and processes.allocated to applications, services, and processes.http://www.microsoft.com/windowsserver2003/techinfo/overview/wsrmcli.mspx
Windows System Resource Manager Accounting White PaperWindows System Resource Manager Accounting White PaperSearch Microsoft.com for: Go Windows System Resource Manager Accounting White Search Microsoft.com for: Go Windows System Resource Manager Accounting White PaperPublished: November 10, 2003 Download 385 KB Microsoft Word file Summary The PaperPublished: November 10, 2003 Download 385 KB Microsoft Word file Summary The accounting function in WSRM tracks how managed and unmanaged processes use accounting function in WSRM tracks how managed and unmanaged processes use resources. With this information, you can easily generate reports of process-resource usage resources. With this information, you can easily generate reports of process-resource usage on a per-user, per-application, or other relevant basis. on a per-user, per-application, or other relevant basis. http://www.microsoft.com/windowsserver2003/techinfo/overview/wsrmaccount.mspx
For More Information…on For More Information…on WSRMWSRM
TechNet WebcastTechNet Webcast: Windows System Resource Manager : Windows System Resource Manager (WSRM): Managing processing resources with Windows Server (WSRM): Managing processing resources with Windows Server 2003 Live Event: March 27, 2003 - 1:00pm to 2:30pm Pacific 2003 Live Event: March 27, 2003 - 1:00pm to 2:30pm Pacific Time / 4:00pm Eastern Time.Time / 4:00pm Eastern Time.http://www.microsoft.com/usa/webcasts/upcoming/1546.asp
TechNet Webcast:TechNet Webcast: Windows System Resource Manager Windows System Resource Manager (WSRM): Managing processing resources with Windows Server (WSRM): Managing processing resources with Windows Server 2003 Live Event: March 27, 2003 - 1:00pm to 2:30pm Pacific 2003 Live Event: March 27, 2003 - 1:00pm to 2:30pm Pacific Time / 4:00pm Eastern Time.Time / 4:00pm Eastern Time.http://www.microsoft.com/usa/webcasts/upcoming/1546.asp
SQL Server Consolidation on the 64-Bit Platform: Lessons SQL Server Consolidation on the 64-Bit Platform: Lessons LearnedLearnedThis white paper discusses lessons learned during test scenarios This white paper discusses lessons learned during test scenarios in which Microsoft deployed and operated a 64-bit server to in which Microsoft deployed and operated a 64-bit server to consolidate Microsoftconsolidate Microsoft®® SQL Server™ instances that previously SQL Server™ instances that previously resided on separate physical computers.resided on separate physical computers.http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/ 64bitconsolidation.mspx
For More Information…on For More Information…on WSRMWSRM
Solution Accelerator for Consolidating and Migrating LOB Solution Accelerator for Consolidating and Migrating LOB ApplicatoinsApplicatoinsThe Solution Accelerator for Consolidating and Migrating LOB The Solution Accelerator for Consolidating and Migrating LOB Applications facilitates the deployment of Windows Server 2003-Applications facilitates the deployment of Windows Server 2003-based solutions, specifically those that support consolidation, based solutions, specifically those that support consolidation, migration, and virtualization.migration, and virtualization.http://www.microsoft.com/technet/itsolutions/techguide/msa/solacc/ lobsa/default.mspx
Decision Tree for Consolidating and Migrating LOB Decision Tree for Consolidating and Migrating LOB ApplicationsApplicationsThis document provides guidance for assessing LOB applications This document provides guidance for assessing LOB applications and determining appropriate Windows Server 2003-based and determining appropriate Windows Server 2003-based solutions.solutions.http://www.microsoft.com/technet/itsolutions/ucs/lob/lobsa/ lobsadect.mspx
Download details: Mixed Workload Consolidation GuideDownload details: Mixed Workload Consolidation GuideProvides detailed information you can use to identify Provides detailed information you can use to identify appropriate applications for mixed workload consolidation, appropriate applications for mixed workload consolidation, validate compatibility of applications, and plan for a mixed validate compatibility of applications, and plan for a mixed workload consolidation deployment.workload consolidation deployment.http://www.microsoft.com/downloads/details.aspx?FamilyId=0F70695E-5D0B-4781-8966-84BE43216F9E&displaylang=en
For More Information…on For More Information…on WSRMWSRM
Microsoft Customer Evidence: Manifattura di Legnano Microsoft Customer Evidence: Manifattura di Legnano S.p.a.S.p.a.Cotton Company Weaves Dramatic Web Server Performance Cotton Company Weaves Dramatic Web Server Performance Improvements into their NetworkImprovements into their Networkhttp://www.microsoft.com/resources/casestudies/ CaseStudy.asp?CaseStudyID=14210
Microsoft Windows System Resource Manager Microsoft Windows System Resource Manager Management Pack for Microsoft Operations Manager Management Pack for Microsoft Operations Manager 2000 SP12000 SP1Microsoft Windows System Resource Manager Management Microsoft Windows System Resource Manager Management Pack for Microsoft Operations Manager 2000 SP1Pack for Microsoft Operations Manager 2000 SP1http://www.microsoft.com/technet/prodtechnol/mom/mom2000/ maintain/wsrmmpg.mspx
Download details: Windows System Resource Manager Download details: Windows System Resource Manager (WSRM) Management Pack for MOM(WSRM) Management Pack for MOMManagement pack that manages the Windows System Resource Management pack that manages the Windows System Resource Manager (WSRM) service on Windows Server 2003 Enterprise Manager (WSRM) service on Windows Server 2003 Enterprise and Datacenter editions.and Datacenter editions.http://www.microsoft.com/downloads/details.aspx?FamilyId=0DD93314-DD31-43BE-BA94-F1FF53D52917&displaylang=en
For More Information…on For More Information…on WSRMWSRM
WSRM Policy Object; Windows Server 2003 Deployment KitWSRM Policy Object; Windows Server 2003 Deployment KitThe WSRM Policy performance object, installed with Windows System Resource The WSRM Policy performance object, installed with Windows System Resource Manager (WSRM), consists of a counter that provides the percentage of CPU Manager (WSRM), consists of a counter that provides the percentage of CPU cycles of the entire system that are used by the current resource-allocation cycles of the entire system that are used by the current resource-allocation policy, since the time the policy was set to manage the behavior of WSRM.policy, since the time the policy was set to manage the behavior of WSRM.http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/deployguide/ en-us/counters2_wsrmpolicy.asp
WSRM Process Object; Windows Server 2003 Deployment KitWSRM Process Object; Windows Server 2003 Deployment KitThe WSRM Process performance object, installed with Windows System Resource The WSRM Process performance object, installed with Windows System Resource Manager (WSRM), consists of a counter that provides the percentage of total Manager (WSRM), consists of a counter that provides the percentage of total managed CPU cycles used by a particular process, since the time that the managed CPU cycles used by a particular process, since the time that the resource-allocation policy ,since the time the policy was set to manage the resource-allocation policy ,since the time the policy was set to manage the behavior of WSRM. behavior of WSRM. http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/deployguide/ en-us/counters2_wsrmprocess.asp
WSRM Process Matching Criteria Object; Windows Server 2003 WSRM Process Matching Criteria Object; Windows Server 2003 Deployment KitDeployment KitThe WSRM process-matching criteria performance object, installed with Windows The WSRM process-matching criteria performance object, installed with Windows System Resource Manager (WSRM), consists of counters that monitor the CPU System Resource Manager (WSRM), consists of counters that monitor the CPU usage and memory usage of the processes matched by the process-matching usage and memory usage of the processes matched by the process-matching criteria. The criteria are included in the managing resource-allocation policy. criteria. The criteria are included in the managing resource-allocation policy. http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/deployguide/ en-us/counters2_wsrmpmc.asp
For More Information…on IISFor More Information…on IIS
IIS Portal: IIS Portal: www.microsoft.com/iisLinks to product documentation, resource kits, and other Links to product documentation, resource kits, and other technical resourcestechnical resources
Whitepaper:Whitepaper:Web and Application Server Infrastructure—Performance and Web and Application Server Infrastructure—Performance and ScalabilityScalabilityLearn how your existing ISAPI and ASP/COM+ applications Learn how your existing ISAPI and ASP/COM+ applications can see a performance and scalability gain on Windows can see a performance and scalability gain on Windows Server 2003. This paper covers performance tuning Server 2003. This paper covers performance tuning considerations for ISAPI and ASP/COM+ applications, and considerations for ISAPI and ASP/COM+ applications, and provides tuning ideas for the Windows .NET Framework.provides tuning ideas for the Windows .NET Framework.
MicrosoftMicrosoft®® ASP.NET: www.asp.net ASP.NET: www.asp.netForums and community information relating to IIS and Forums and community information relating to IIS and ASP.NetASP.Net
IIS Webcast Series: IIS Webcast Series: http://www.microsoft.com/windowsserver2003/iis/suphttp://www.microsoft.com/windowsserver2003/iis/support/webcasts.mspxport/webcasts.mspx
MSDN EventsMSDN Events
WhoWho• Your Local Microsoft Developer Community ChampionYour Local Microsoft Developer Community Champion
WhatWhat• WinForms - Produce, Extend, EnhanceWinForms - Produce, Extend, Enhance• ASP .NET – Fixing that Last Bug in Your Web AppASP .NET – Fixing that Last Bug in Your Web App• Visual Studio Team System – A Technical TourVisual Studio Team System – A Technical Tour
WhyWhy• Gain valuable developer knowledge, network with peers, Gain valuable developer knowledge, network with peers,
and get VS 2005 Beta 1 Refresh and VS 2005 Express and get VS 2005 Beta 1 Refresh and VS 2005 Express Betas on our content-rich special event DVDBetas on our content-rich special event DVD
WhenWhen• January through March, on Tuesdays and Thursdays from January through March, on Tuesdays and Thursdays from
1-5PM local time1-5PM local time
WhereWhere• Cities across the United StatesCities across the United States
HowHow• Visit MSDN Events at http://www.msdnevents.com to find Visit MSDN Events at http://www.msdnevents.com to find
out more!out more!
MSDN Webcast Resources
Visit our blog Visit our blog http://blogs.msdn.com/msdnwebcasts for an http://blogs.msdn.com/msdnwebcasts for an rss feed of upcoming MSDN Webcastsrss feed of upcoming MSDN Webcasts
Submit text questions during the live Submit text questions during the live webcast using the “Ask a Question” buttonwebcast using the “Ask a Question” button
For recordings of past MSDN Webcasts: For recordings of past MSDN Webcasts: www.microsoft.com/usa/webcasts/ondemandwww.microsoft.com/usa/webcasts/ondemand
Got webcast content ideas? Email us at: Got webcast content ideas? Email us at: [email protected] [email protected]
More webcasts at More webcasts at http://msdn.microsoft.com/webcasts http://msdn.microsoft.com/webcasts
Don’t forget to fill out the survey.Don’t forget to fill out the survey.
Additional ResourcesAdditional ResourcesNew mobile development resource kitsNew mobile development resource kits
Mobile Application Development ToolkitMobile Application Development Toolkit
WeRock 247 .NET Smart Client Training WeRock 247 .NET Smart Client Training DVDDVD
Football 247 .NET Training DVDFootball 247 .NET Training DVDAll may ordered or downloaded at All may ordered or downloaded at http://msdn.microsoft.com/mobility/windowsmohttp://msdn.microsoft.com/mobility/windowsmobile/howto/kits/default.aspx bile/howto/kits/default.aspx
The DevTools MAD LoungeThe DevTools MAD LoungeUpdates and additional resources for the Updates and additional resources for the Mobile Application Development ToolkitMobile Application Development Toolkit
www.msdevtools.netwww.msdevtools.net
MSDN Mobile and Embedded Developer MSDN Mobile and Embedded Developer CenterCenter
http://msdn.microsoft.com/mobilityhttp://msdn.microsoft.com/mobility
Where Can I Get MSDN?Where Can I Get MSDN?Fill out a survey at the end of the Fill out a survey at the end of the webcast and ask a Microsoft webcast and ask a Microsoft representative to contact you.representative to contact you.
Become an MSDN CD Subscriber at Become an MSDN CD Subscriber at msdn.microsoft.com/subscriptionsmsdn.microsoft.com/subscriptions
Free Trial Offer for Live Free Trial Offer for Live MeetingMeeting
15 days of free service. Unlimited 15 days of free service. Unlimited online meetings with up to 10 online meetings with up to 10 participants. participants.
Complimentary 24/7 customer Complimentary 24/7 customer support for you and all meeting support for you and all meeting participants. participants.
Get your own free 15-day trial by Get your own free 15-day trial by visiting: visiting: http://www.microsoft.com/presentlhttp://www.microsoft.com/presentlive ive