M04 IIS6CPM ProblemAnalysis v1.3

Embed Size (px)

Citation preview

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    1/26

    Problem Analysis andTroubleshooting

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    2/26

    Module Overview

    Types of problems that affect IIS

    How to identify them

    What can cause them

    How to troubleshoot themLots of hands on!

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    3/26

    Section 1: Common IIS-Related Problems

    Application Crash

    100% CPU Hang

    0% CPU Hang

    Performance IssuesMemory Leaks

    Startup Problems

    Access Issues

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    4/26

    Application Crash - How to Identify

    Browser errors The connection with the server was reset

    The remote procedure call failed

    The RPC server is unavailable

    ASP 0115 / HTTP 500

    Event logs

    IIS logs

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    5/26

    Application Crash - Possible Causes

    Stack overflow

    Stack corruption

    Heap corruption

    Divide by ZeroNull pointer dereference

    Any other unhandled exception

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    6/26

    Application Crash - How to Troubleshoot

    Review event logs

    Review IIS logs for HTTP 500/ASP 0115 errors

    Switch off all proactive recycling

    Run ADPlus or DebugDiag in crash modeAnalyze memory dump in WinDBG

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    7/26

    100% CPU Hang - How to Identify

    Browser shows only blank page or times out

    Pages take a long time to load on browser

    Check CPU usage in Task Manager or PerformanceMonitor

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    8/26

    100% CPU Hang - Possible Causes

    Long loops

    Infinite loops

    Memory leaks

    String manipulationGarbage collection

    Insufficient hardware

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    9/26

    100% CPU Hang - How to Troubleshoot

    Switch off all proactive recycling

    Wait for problem to occur again

    Gather Perfmon data

    Run ADPlus or DebugDiag in hang modeAnalyze Perfmon data

    Analyze memory dump in WinDBG

    Perform live debug to identify the root cause, if required

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    10/26

    0% CPU Hang - How to Identify

    Browser shows only blank page or times out

    Create simple .htm, .asp, .aspx pages

    Attempt to browse to each test page

    Does process recover if load is removed?Easy to confuse with performance issues

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    11/26

    0% CPU Hang - Possible Causes

    Serialization

    Deadlocks

    Orphaned critical sections or monitors

    Microsoft Visual Basic (VB) RIM/UE issuesFailing COM/database/remoting calls

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    12/26

    0% CPU Hang - How to Troubleshoot

    Switch off all proactive recycling

    Enable process orphaning

    Run DebugDiag or ADPlus in hang mode

    Analyze memory dump in WinDBG

    !locks

    !critsec

    !syncblk

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    13/26

    Performance Issues - How to Identify

    Users report application is running slowly

    Application appears to hang

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    14/26

    Performance Issues - Possible Causes

    Too many to mention!

    Serialization

    Long COM/database/remoting calls

    Insufficient hardware

    Network congestion

    Poor quality application code

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    15/26

    Performance Issues - How to Troubleshoot

    Performance Monitor

    Perfmon baseline logs

    Stress testing tools

    Application Center Test

    WCAT

    Log Parser

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    16/26

    Memory Leaks - How to Identify

    Popup message stating "System out of virtual memoryRandom problems associated with a lack of virtualmemory

    Degrading system performance and excessive swapping

    Failed memory allocations

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    17/26

    Memory Leaks - Possible Causes

    Application failing to free private memory or resourceallocations

    Includes memory, user and gdi objects, handles, threads,etc.

    Abnormal code paths which bypass free logic

    Logic errors

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    18/26

    Memory Leaks - How to Troubleshoot

    Performance MonitorPMON.EXE

    DebugDiag (LeakTrack)

    UMDH.exe

    LeakDiag (Microsoft PSS Tool)

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    19/26

    Startup Problems - How to Identify

    IIS fails to startIIS starts very slowly

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    20/26

    Startup Problems - Possible Causes

    Large metabase filesPermissions

    Corrupt/missing Machine Keys

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    21/26

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    22/26

    Access Issues - How to Identify

    Users receive unexpected authentication promptsUsers get Access Denied messages

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    23/26

    Access Issues - Possible Causes

    Incorrect authentication schemes configuredDC comms issues

    Incorrect user or process identity permissions

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    24/26

    Access Issues - How to Troubleshoot

    Network Monitor (NetMon)WFetch

    AuthDiag

    Log Parser

    ASPNET_regiis

    Permissions Verifier

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    25/26

    Section 2: Labs - Troubleshooting Scenarios

  • 7/30/2019 M04 IIS6CPM ProblemAnalysis v1.3

    26/26

    Action Planning Exercise

    Think about how youll apply the concepts and/or

    practices youve learned when you return to your

    workplace.

    1.Summarize your action items

    2.Questions for your trainer?3.Class discussion