January 14, 2013 2 Comments
For diagnosing troubleshooting cases for IIS 8 , there are specifically built in support for following three types of issues:
1. IIS Specific error (viz: HTTP Error 500.19)
2. Hang/time-out issues.
3. Resource – intensive issues.
1. Specific Errors: These are the errors that usually fail quickly & will show an HTTP error page corresponding to the error. Specific errors are easier for troubleshooting as the error message will immediately narrow down the issue details & can be easily reproduced over the time.
2. Hang/Time-out Issues: The error would often simply say that there was a time-out, without giving any clues as to the cause. With IIS 8.0, troubleshooting hang & time out issues can be solved out by Failed Request Tracing and Runtime Status & Control (RSCA)
3. Resource-Intensive & Slowness Issues: This can cause server’s CPU to spike, excessive disk usage, high memory pressure, utilizing almost any resources. Windows Task Manager, Process Explorer , Process Monitor are the excellent tools in order to solve this type of issues.
- Failed Request Tracing:
Failed Request Tracing is the most useful feature in IIS 8.0 which enables to get the gain the details of information about any page request and to be able to capture data data based on the criteria that you define. With Failed Request Tracing, troubleshooting can be done at any time without downtime, with intangible performance overhead on the server . FREB logs on enabling trace rules are stored on disk in as easy to read XML format.
- Specify the Trace Providers.
- The best way to view the FREB logs is to open the logs in IE to get the log details in XML format.
- ASP.NET Tracing : ASP.NET Tracing can be enabled in several ways, the most straight forward way is to do this as <%@ Page Trace=”true” %>
- This will enable it at page level & will append the trace input to the bottom of the page. Alternatively you can set it through in web.config as <trace /> attribute.
<trace enabled =”true” pageOutput = “true” localOnly = “true” />
LogParser.exe “SELECT * FROM SYSTEM WHERE EVENTTYPE = 1 ORDER BY TIMEWRITTEN DESC”
- DelegConfig: DelegConfig helps to troubleshoot the authentication issues on production servers specially where Kerberos, delegating credentials are main concerns.
you can download the extension from here
- Process Explorer : Process Explorer is a tool which helps to dig into the issue based on process IDs, thread based way. Where Task Manager stops , Process Explorer starts to find the internal views of the concerned process regarding the CPU affinity, Performance Graphs, GPU Graphs etc.
- Process Monitor: One of the best troubleshooting tool from Sysinternals, which helps to dig into the issues like Access Denied errors in IIS, adding filters , process highlights, Thread affinity graphs.
- Debug Diagnostic Tool : The debug Diagnostic Tools is still supported in troubleshooting cases of IIS 8 & Windows Server 2012. The tool is used to for troubleshooting hangs, slow performance of production ASP.NET websites, w3wp.exe worker process crashes & COM+ debugging.
- Creating Memory Dump : For creating Memory Leak issues of Windows Desktop / Windows Store applications , debugdiag is an ideal tool which injects the Leak Track DLL (LeakTrack.dll) into the process. Attaching the .dll & leave it for several hours helps to find the memory leakage issues by taking proper memory dump. It also helps to create Full Userdump, Mini UserDump, Create UserDump Series, dubugging Crash & slow performance issues.
you can download DebugDiag tool from here
- Specify the Dump type as Full User Dump or Mini Dump.
- Select location of the Dump file
- ProcDump : ProcDump is a Command Line tool used to capture memory dumps that can be analysed using WinDbg or DebugDiag. ProcDump is specially useful in case of capturing memory dump of w3wp.exe worker process for slow unresponsive production website or hanging issue. you can download ProcDump from here
- WinDbg: WinDbg is a tool used to analyse memory dumps. WinDbg provides commands & GUI interface to examine memory dumps of processes running in Kernel, user mode, System Registry, managed code hangings of w3wp worker processes. you can download the tool from here .