Troubleshooting IIS6.0 Data Access Problems

with Debugdiag, Netmon, and Perfmon

 

 

 

 

 

Overview:

 

These steps focus on the IIS servers and include:

1.     Two hang dumps made with Debugdiag

2.     One Perfmon capture (with IIS and ASP.net related objects)

3.     One Netmon trace

 

Ideally we’ll get two set of debugdiag dumps in combination with a concurrent perfmon capture and netmon trace during a five minute period when the performance problem is occurring.   If there is not time to get all three of these things, please focus on the debugdiag hang dumps.

 

 

INSTALL DEBUGDIAG v 1.1

 

Please install Debug Diagnostics v 1.1 onto at least one of the web servers.

 

Download link:     https://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&DisplayLang=en  

 

Accept all the defaults during installation unless you want to avoid having .dmp files created on the system partition.

 

If you have a front end web server (asp.net web application) that talks to a middle-tier application server (asp.net web services) you’ll want to install Debugdiag on at least one front end web server and its corresponding application server.

 

 

 

PERFMON

 

     Set up Perfmon before the hang or slow performance begins.

 

  Start Button > Run > Open: Perfmon [Enter]

Expand "Performance Logs and Alerts"

Right Click on "Counter Logs"

Choose "New Log Settings..."

 

 

Enter a descriptive name (such as “IIS-Perf”)

 

Click the "Add" button

 

Click the "All Counters" and "All Instances" radio buttons

 

Select the following from the "Performance Object" dropdown, being sure to "Add" each one as you select it:

   

Add every Object that begins with “.NET”  (such as, .NET CLR Data, .NET CLR Exceptions,  .NET CLR Interop, etc.)

Add every Object that begins with ASP.NET (such as ASP.NET, ASP.NET Applications, etc.)

Memory

Process

Processor

Thread

Web Service

 

     

 

 

Click "Close"

Click "OK"

 

Feel free to stop the capture until you’re ready to start performance testing.

Ensure that the perfmon capture is started when the performance testing begins.

 

 

 

 

 

 

Set Time Taken (IIS logging)

 

Please ensure that the “time taken” option is check-marked in the properties sheet of the website(s) in focus.  

 

 

 

 

 

 

Install Netmon 3.2 from here on the IIS server(s)

            If Netmon will not install please feel free to install Wireshark or Ethereal.

 

 

Start the load test and wait for the performance problem to become noticeable.

 

When the performance problem is noticeable,

1.     Ensure that the perfmon capture has been started

2.     Start the Netmon trace

a.     Launch Network Monitor from All Programs menu

b.     Allow it to load parsers (if this is the first time it is being run)

c.      Click “Create New Capture Tab”

d.     Click the > Start button

 

 

3.     Manually Trigger two Hang Dumps with Debugdiag

a)     Launch DebugDiag from the All Programs menu

b)    Click Cancel if given the choice of making a Crash Rule or Hang Rule

c)     Expand the Tools menu

d)    Select “Create IIS/Com+ Hang Dump” and wait for dump creation to occur (may take 30 seconds or more depending on size of the w3wp.exe)

e)     Wait for two minutes after the first set of hang dumps is finished

f)      Trigger a second set of hang dumps with the “Create IIS/Com+ Hang Dump” again

 

 

After the second set of dumps has been made, please stop the netmon trace (by clicking the Stop button) and save the netmon capture. 

Also please stop the perfmon capture.

 

 

Advanced data collection

 

After the load test is over, expand the Tools menu in debugdiag, choose advanced data collection, create full cabinet file.   

 

 

Creating the full cabinet file will compress the event logs, the most recent IIS log, the metabase, the httperr log, all .net config files, and all dmp files together into one convenient .cab file.

At some point in the wizard you will have the option to select one or more websites to include their IIS logfiles or not.   Please highlight all websites that are available and ensure that 1 day’s worth of IIS logs is included.

 

 

 

After the compression process is finished, the easiest way to find the cabinet file is to click the icon of the manila folder in debugdiag.

 

 

 

 

Please collect and zip and send/upload/share out the netmon’s .cap file, the perfmon’s .blg file, and the debugdiag .cab file.