Microsoft KB Archive/842438

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

Article ID: 842438

Article Last Modified on 12/5/2007

-

APPLIES TO


 * Microsoft Internet Security and Acceleration Server 2000 Standard Edition
 * Microsoft Internet Security and Acceleration Server 2004 Standard Edition
 * Microsoft Internet Security and Acceleration Server Enterprise Edition Service Pack 2
 * Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition
 * Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
 * Microsoft Internet Security and Acceleration Server 2006 Standard Edition

-



Important This article contains information about how to modify the registry. Make sure that you 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. This change is included in ISA Server 2004 and ISA Server 2006. For more 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. For ISA Server 2004 and for ISA Server 2006, the default behavior was reversed, and the controlling registry value was renamed to reflect this difference.
 * FlushRequestBodyForRpcOverHttp - When the value of this entry is not zero, the ISA Server Web proxy service will flush the request body of the RPC over HTTP requests.

Note: RPC over HTTP requests are identified by the client that issues either 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, where   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 the 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 FlushRequestBodyForRpcOverHttp for the name of the new entry, and then press ENTER.

Note The FlushRequestBodyForRpcOverHttp registry entry is applicable for ISA 2000 SP2.
 * 1) Right-click FlushRequestBodyForRpcOverHttp, and then click Modify.
 * 2) In the Value data box, type 0x1, and then click OK.
 * 3) On the Edit menu, point to New, and then click DWORD Value.
 * 4) Type ProxyVmemAlloc3pSize for the name of the new entry, and then press ENTER.
 * 5) On the Edit menu, point to New, and then click DWORD Value.
 * 6) Type ProxyVmemAlloc1pSize for the name of the new entry, and then press ENTER.
 * 7) Right-click ProxyVmemAlloc1pSize, and then click Modify.
 * 8) In the Value data box, type 0x7D0, and then click OK.
 * 9) Quit Registry Editor.



To configure the FlushRequestBodyForRpcOverHttp registry entry for ISA 2004 SP2, follow these steps:  Click Start, click Run, type regedit, and then click OK. Locate and then click the following subkey:

 On the Edit menu, point to New, and then click DWORD Value. Type FlushRequestBodyForRpcOverHttp for the name of the new entry, and then press ENTER. Right-click FlushRequestBodyForRpcOverHttp, and then click Modify.</li> In the Value data box, type 0x1, and then click OK.</li></ol>

To configure the ProxyVmemAlloc1pSize or ProxyVmemAlloc3pSize registry entries for ISA 2004 SP2, follow these steps: <ol> 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.</li> Estimate the new value for the registry entry. To do this, follow these steps: <ol style="list-style-type: lower-alpha;"> 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.</li> Determine the amount of memory that you need. <ul> 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</li> 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.</li></ul> </li> Calculate the value of the registry entry. Divide the number of the needed blocks by 10 to obtain the data for the registry entry.</li></ol> </li> Click Start, click Run, type regedit, and then click OK.</li> Locate and then click the following subkey:

</li> On the Edit menu, point to New, and then click Key.</li> Type Parameters, and then press ENTER.</li> Locate and then click the following subkey:

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

Keywords: kbbug kbpending KB842438

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.