Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Throughput for an ISA Server that is running on a Windows Server 2003 Service Pack 2 (SP2)-based multiprocessor computer may be greatly reduced or completely blocked


View products that this article applies to.

Symptoms

You are using a Microsoft Windows Server 2003 Service Pack 2 (SP2)-based multiprocessor computer that is running Microsoft Internet Security and Acceleration (ISA) Server 2006 or Microsoft ISA Server 2004. With this configuration, you experience the following symptoms:
  • CPU use for a particular processor reaches 100 percent.
  • The total throughput of ISA Server is greatly reduced or completely blocked.
  • Latency increases significantly even though other processors are used at much reduced levels.
Note This problem occurs only on multiprocessor computers that use a 32-bit operating system.

↑ Back to the top


Cause

This problem occurs because of the "lazy Interrupt Request Level" (IRQL) handler that is included in Windows Server 2003 SP2.

↑ Back to the top


Resolution

To resolve this problem, use the Interrupt-Affinity tool to assign the interrupts of different network adapters to different processors. To do this, follow these steps:
  1. Download and then install the Windows Server 2003 Resource Kit tools.

    For more information about how to download the Windows Server 2003 Resource Kit tools, visit the following Microsoft Web site:
  2. Install the Interrupt-Affinity tool.

    For more information about how to install the Interrupt-Affinity tool, click the following article number to view the article in the Microsoft Knowledge Base:
    252867 How to install and use the Interrupt-Affinity Filter tool
  3. Run the Interrupt-Affinity Filter tool.
  4. Locate all the network adapters.
  5. Use the following rules to assign a processor to each network adapter:
    • If the number of processors is large or if the number of processors is equal to the number of network adapters, assign a single, unique processor to each network adapter.
    • If the number of processors is less than the number of network adapters, use the \Network Interface(*)\Packets Received/sec performance counter to determine which network adapters have the highest values during high CPU use. Assign each of these network adapters a separate processor, and then assign the remaining network adapters in a round robin order.
  6. Monitor the performance counters for twenty-four hours to make sure that the problem is resolved.

↑ Back to the top


More information

To verify that you are experiencing this problem, use one of the following methods.

Method 1

  1. Copy and then paste the following code into a new Notepad file. Then, save the file as �Counters.txt."
    \ISA Server Firewall Packet Engine\*
    \ISA Server Web Proxy\*
    \PhysicalDisk(*)\*
    \Processor(*)\*
    \Memory\*
    \System\*
    \Network Interface(*)\*
    
  2. Run the following command at a command prompt:
    typeperf -f CSV -cf counters.txt -si 15 -sc 5760 -o OutputFile -y
    Notes
    • You must run the command from the folder in which you saved the Counters.txt file.
    • OutputFile is the name of the file that will contain the performance counter samples.
    • This command will run for twenty-four hours. You must run this command during a typical work day.

Method 2

  1. Use System Monitor to create a log. For more information about how to create a log by using System Monitor, click the following article number to view the article in the Microsoft Knowledge Base:
    248345 How to create a log using System Monitor in Windows
  2. After you collect performance data from various performance counters, use System Monitor to view the following items:
    • The percentage of elapsed time that the processor spends to run a non-idle thread, such as the % Processor Time thread.
    • The percentage of time that the processor spends to receive and to service deferred procedure calls (DPCs) during the sample interval (1 percent of DPC time).
    To view these items, you must select the following counters in the System Monitor pane for each processor instance:
    • % Processor Time
    • % DPC Time
You are experiencing this problem if the following conditions are true:
  • Use of one of the processors reaches a value that is more than 80 percent of processor time for more than a minute.
  • This is the only processor that has a high percentage of DPC time compared to the other processors.

↑ Back to the top


Keywords: KB934809, kbprb, kbexpertiseadvanced, kbtshoot, kbarchive, kbnosurvey

↑ Back to the top

Article Info
Article ID : 934809
Revision : 3
Created on : 1/16/2015
Published on : 1/16/2015
Exists online : False
Views : 391