Microsoft Internet Security and Acceleration (ISA) Server performance may be reduced if the Exchange Server 2003 server is processing unusually heavy traffic (842438)



The information in this article applies to:

  • Microsoft Internet Security and Acceleration Server 2000
  • Microsoft Internet Security and Acceleration Server 2004, Standard Edition

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

If the Microsoft Exchange Server 2003 server is processing unusually heavy Outlook Web Access (OWA) traffic or remote procedure calls (RPCs) over HTTP traffic, the Microsoft Internet Security and Acceleration (ISA) server performance may be reduced.




Additionally, if you use Microsoft Internet Security and Acceleration Server 2004 Standard Edition Service Pack 2 or Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition Service Pack 1, one of the following events will appear in the application event log when one of the memory pools is low:
Event Type: Warning 
Event Source: Microsoft ISA Server Web Proxy 
Event Category: None 
Event ID: 21276 
Description: The ISA Server Web Proxy memory pool that handles HTTP connections is low. To specify a larger Web Proxy memory pool, set the ProxyVmemAlloc3pSize registry value in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Proxy\Parameters registry key. For more information about setting this value see the ISA Server help. 
Data: 0000: 00003000 00002400 00002400 
Event Type: Warning 
Event Source: Microsoft ISA Server Web Proxy 
Event Category: None 
Event ID: 21276 
Description: The ISA Server Web Proxy memory pool that handles SSL connections is low. To specify a larger Web Proxy memory pool, set the ProxyVmemAlloc1pSize registry value in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Proxy\Parameters registry key. For more information about setting this value see the ISA Server help. 
Data: 0000: 00003000 00002400 00000732


RESOLUTION

To resolve this problem, obtain the latest service pack for Internet Security and Acceleration (ISA) Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

313139 How to obtain the latest Internet Security and Acceleration Server 2000 service pack

When you install Service Pack 2 (SP2) for ISA Server 2000, you can use the following new registry entries to prevent this problem:
  • SkipFlushRequestBodyForRpcOverHttp - When the value of this entry is not zero, the ISA Server Web proxy service does not flush the request body of the RPC over HTTP requests. RPC over HTTP requests are identified by using the RPC_IN_DATA request method or the RPC_OUT_DATA request method.
  • ProxyVmemAlloc3pSize - This entry controls the maximum number of proxy request objects.
  • ProxyVmemAlloc1pSize - This entry controls the maximum number of Secure Sockets Layer (SSL) request objects. This number is calculated as RegKeyValue*min (10, GlobalVariableName), where GlobalVariableName is a placeholder for the actual global variable name. A function calculates the global variable name value.
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To configure these registry entries for ISA 2000 SP2, follow these steps:
  1. Click Start, click Run, type regedit , and then click OK.
  2. Locate and then click the following subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Proxy\Parameters\
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type SkipFlushRequestBodyForRpcOverHttp for the name of the new entry, and then press ENTER.
    Note The SkipFlushRequestBodyForRpcOverHttp registry entry is applicable for ISA 2000 SP2.
  5. Right-click SkipFlushRequestBodyForRpcOverHttp, and then click Modify.
  6. In the Value data box, type 0x1, and then click OK.
  7. On the Edit menu, point to New, and then click DWORD Value.
  8. Type ProxyVmemAlloc3pSize for the name of the new entry, and then press ENTER.
  9. On the Edit menu, point to New, and then click DWORD Value.
  10. Type ProxyVmemAlloc1pSize for the name of the new entry, and then press ENTER.
  11. Right-click ProxyVmemAlloc1pSize, and then click Modify.
  12. In the Value data box, type 0x7D0, and then click OK.
  13. Quit Registry Editor.
To configure the SkipFlushRequestBodyForRpcOverHttp registry entry for ISA 2004 SP2, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Proxy\Parameters\

  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type FlushRequestBodyForRpcOverHttp for the name of the new entry, and then press ENTER.
  5. Right-click FlushRequestBodyForRpcOverHttp, and then click Modify.
  6. In the Value data box, type 0x1, and then click OK.
To configure the ProxyVmemAlloc1pSize or ProxyVmemAlloc3pSize registry entries for ISA 2004 SP2, follow these steps:
  1. Determine which entry to change. For ISA 2004 Service Pack 2, the registry entry will be named in the event log. For the earlier versions of ISA Server, configure both registry entries.
  2. Estimate the new value for the registry entry. To do this, follow these steps:
    1. Determine the current size of the memory structure.

      Note The second word of the event data is the current size of the memory structure in blocks and the third word indicates the number of free blocks at the time of the alert. Convert the current size of the memory structure from a hexadecimal number to a decimal number.
    2. Determine the amount of memory that you need.
      • For the pending HTTP connections pool that is controlled by the ProxyVmemAlloc3pSize registry entry, estimate the amount of virtual memory from the Active Web Sessions performance counter data of the Web Proxy. To do this, monitor the counter to determine the peak load, and then use the following formula to calculate the number of the needed virtual memory blocks: Blocks = 4* Peak_Sessions + 10240
      • For the Secure Sockets Layer (SSL) connection request pool, no estimation formula is available now. However, you can obtain the current pool size from the event data and pick a reasonably larger number. For example, doubling the pool size is a reasonable estimate at the first time.
    3. Calculate the value of the registry entry. Divide the number of the needed blocks by 10 to obtain the data for the registry entry.
  3. Click Start, click Run, type regedit, and then click OK.
  4. Locate and then click the following subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Proxy\Parameters\

  5. On the Edit menu, point to New, and then click DWORD Value.
  6. Type the name of the registry value you want to configure, for example, ProxyVmemAlloc3pSize, and then press ENTER.
  7. Right-click the value, for example, ProxyVmemAlloc3pSize, and then click Modify.
  8. In the Value data box, type the value that was calculated earlier in this section, and then click OK.
  9. Quit Registry Editor.

Modification Type:MinorLast Reviewed:3/30/2006
Keywords:kbpending kbbug KB842438 kbAudITPRO