Presentation is loading. Please wait.

Presentation is loading. Please wait.

IIS7: A brief tour Diagnostics drilldown Best practices and patterns.

Similar presentations


Presentation on theme: "IIS7: A brief tour Diagnostics drilldown Best practices and patterns."— Presentation transcript:

1

2 IIS7: A brief tour Diagnostics drilldown Best practices and patterns

3 1. Opt-in modular architecture with new extensibility model 2. Reliable, high performance PHP hosting alongside ASP.NET hosting 3. Easy-to-use XML-based configuration system 4. Powerful secure remote, delegated administration 5. Diagnostic tools for troubleshooting

4 Security AnonymousAuthenticationBasicAuthenticationDigestAuthenticationWindowsAuthenticationUrlAuthorizationCertificateMappingADCertificateMappingRequestFilteringIPRestriction Application Development.NET ExtensibilityISAPIFilterISAPIExtensionCGIFastCGIServerSideIncludesASPASP.Net Health and Diagnostics HttpLoggingCustomLoggingRequestMonitorHttpTracingODBCLoggingLoggingLibraries Publishing FTPServerFTP ManagementWebDavModule Performance StaticCompressionDynamicCompression Management Management ConsoleManagement ScriptingMgmt Service (WMSVC)IIS6 Config (Metabase)IIS6 WMI ProviderIIS6ScriptingIIS6 Management Snap-in Core HTTP Server Components DirBrowsingHttpRedirectDefaultDocCustomErrorsStaticFile Process Model (Windows Process Activation Service) ProcessModel.Net EnvironmentConfiguration API

5 Componentized server Pluggable modular functionality Small generic request pipeline Enables Lightweight servers Custom / specialized servers Integrated mode ASP.NET membership, forms authentication, and Login controls

6 Windows Server hosting for PHP or any other FastCGI- compliance framework along with ASP.NET Built-in FastCGI optimized for high performance and reliability for non-thread safe PHP proceses Reuses CGI processes for multiple requests 25x faster than standard CGI Fully tested against latest PHP.NET builds (PHP 5.2.1) Plugs into IIS diagnostics before the requests enters and once the request leaves the PHP engine Host Multiple Versions of PHP Side by Side Easily host PHP4 and PHP5 on the same server

7 Powerful, XML-file based Management Easily copy configuration from server to server Use environment variables to abstract physical paths Enable Farms of Stateless Front-End Web Servers Share IIS configuration on central UNC share Quickly XCopy deploy apps Distributed Web.config files (IIS and ASP.NET config) live with content Can be local or remote UNC path Separate, scoped config file for each AppPool built-in Process isolation for each new site by default

8 New.NET API: Microsoft.Web.Administration Remoteable through COM interface PowerShell support Delegate Management to Site Owners Manage with Remote Administration Tool Supports Vista, Windows 2003, XP Secure, firewall-friendly connection over HTTP/SSL Authenticates both Windows and non-Windows credentials

9 Modularity | Configuration | PHP Hosting | Xcopy Deployment for an ASP.NET application

10 ETW Tracing Failed Request Tracing Detailed Errors IIS7 Manager AppCmd Command-Line utility Event Monitor Performance Counters ASP.NET Trace integration Process Orphaning Tools Platform BrowserBrowser RSCARSCA LogsLogs

11 Development Detailed errors Failed request tracing ASP.NET integrated tracing Functional testing Detailed errors Failed request tracing Performance monitors Web Capacity Analysis Tool (WCAT) for stress testing Orphan failed processes for debugging Production Bug Fixing Runtime State and Controls API (RSCA) Event Tracing for Windows (ETW) tracing Failed request tracing Performance counters DebugDiag Orphan failed processes for debugging

12 Don’t assume something is happening. Do get facts. Performance counters, event counters, FREB logs, RSCA Don’t go down the “switch this setting and see”. Do find the root cause, and then resolve the problem there. FREB, detailed errors, RSCA Do isolate the problem. FREB, detailed errors, trace events

13 1. Detailed error messages 2. Failed Request Tracing 3. Tracing integration

14 Uniquely identify most IIS 7.0 web server and module error conditions Unique response status / sub-status codes Logged in site logs and shown in detailed error Provide rich information to understand and resolve the error Module, pipeline stage, win32 error code, etc. Lists possible causes, and things you can try Provides error message security By default, detailed errors sent only to localhost Can configure to send to all clients Can configure custom errors from file, URL, or redirect ASP.NET custom errors override IIS custom errors

15 ErrorCauseResolution 500.19Wrong configuration section syntax (elements, attributes, attribute value type) Config File shows the file and line of the error in configuration file. 404.3You are requesting a script that doesn’t have the associated application framework installed. OR You are requesting a static file which is not registered as a static file. Install the corresponding framework to resolve this. OR Add the extension to the MIME Types in IIS Manager 404.1This error occurs whenever no suitable authentication method is configured (your site does not enable any authentication methods or the browser does not support the authentication methods you have configured). For anonymous web sites, enable anonymous authentication. OR Enable other authentication methods that your client supports.

16

17 Enable no-repro instrumentation for failed requests Allow for custom failure definitions per URL Time taken, status/substatus codes Enable per-URL trace configuration Allow me to define what to trace per URL Persist failure log files beyond process lifetime Common scenarios: Request takes too long/hangs -> very common today Request error -> request completes, but with error status code Authentication/Authorization problems Server 500 errors

18

19 ASP.NET page traces for integration into Failed Request Trace logging System.Diagnostics.Trace Capture tracing information from.NET components Configure trace sources to control specific application tracing information ASP.NET Health Monitoring events Correlate and analyze application tracing information in the context of the overall request

20

21 Process orphaning for failed applications through Advanced Settings on app pools (or orphanActionExe in config) Rapid Fail Protection (RFP) occurs when app pool fails X times in Y minutes (configurable) ETW tracing for Windows for extensive logging RSCA lets you view requests that are in-flight DebugDiag for performance related issues including high and low CPU Hangs (slow response), process termination, memory leaks

22 Use request log files to find error patterns and offending URLS Consider using process orphaning Use ASP.NET health monitoring to receive configurable alerts about errors Use WCAT to stress application before product Use design patterns in the Performance Tuning whitepaper (add link)

23 Enable Output Caching for semi-dynamic pages Set IIS worker processes in Wow64 mode in per- AppPool settings If you * script-mapped all requests to ASP.NET in IIS6, Integrated Pipeline is much faster than an IIS6 * scriptmap solution. Try together with IIS7 URL Authorization. Put your high traffic document on top of the Default Documents list. Static default documents are cached in kernel-mode

24 Use Failed Request Tracing to capture hard-to-repro errors Set fine-grained Failed Request Tracing rules to keep your log history valid Don’t use IISReset, recycle apppools Check key performance counters for clues on application health Example: GC-related performance counters

25 Web-based release channel Free for download, www.iis.net www.iis.net Agile release model Q1 2008: Secure FTP server, WebDav, Remote Manager for IIS7, Media Pack (Bit Rate Throttling) Built using the new IIS7 extensibility platform After setup, fully integrated into IIS admin Fully serviced and supported on Windows Server 2008

26 In-depth technical articles and samples Connect with other IIS experts on blogs & forums Free advice and assistance in forums Download center with IIS extensions

27 New IIS7 platform Modular architecture First class PHP support XML based configuration Remote mgmt Diagnostic toolset Diagnostic tools suited to initial development or troubleshooting Wide set of tools for troubleshooting and diagnostics. Narrow down root cause with Detailed Errors and Failed Request Tracing Any questions or comments? Contact: mailant@microsoft.com

28 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

29


Download ppt "IIS7: A brief tour Diagnostics drilldown Best practices and patterns."

Similar presentations


Ads by Google