FIX: Slow performance on startup when you process a high volume of messages through the SOAP adapter in BizTalk Server

Article translations Article translations
Article ID: 886966 - View products that this article applies to.
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
Expand all | Collapse all

On This Page

SYMPTOMS

In Microsoft BizTalk Server 2006 R2, in Microsoft BizTalk Server 2006, or in Microsoft BizTalk Server 2004 , you may experience slow performance on startup when you process a high volume of messages through the SOAP adapter. When this problem occurs, it may take a long time before messages are processed by the SOAP adapter. The length of time may vary depending on the number of messages that must be processed.

CAUSE

This problem occurs when the SOAP adapter is initialized and the startup thread pool is not large enough to handle the number of SOAP requests. Therefore, the SOAP adapter must add more worker threads to the thread pool. This process may take some time to be completed. The process of adding more worker threads continues until the maximum thread limit is reached.

Note To maximize the number of threads that are available to process Web service requests, we recommend that the SOAP adapter and the orchestration run in different processes. To configure this, create a new BizTalk host instance in BizTalk Server Administrator.

RESOLUTION

BizTalk Server 2006 R2 or BizTalk Server 2006

To resolve the issue that is described in the Symptoms section in BizTalk Server 2006 R2 or in BizTalk Server 2006, you must add the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$Hostname\CLR Hosting
Additionally, you must add the following DWORD entries to this registry key:
  • MinCompletionPortThreads
  • MinWorkerThreads
  • MaxWorkerThreads
We recommend that you set the value of the MinWorkerThreads DWORD entry by using the following formula:
Maximum number of messages that you expect to load on the SOAP adapter + 10%
For example, if you expect to load 200 messages on the SOAP adapter, the value should be 220. By default, the MinCompletionPortThreads DWORD entry is set to a value of 150.

To add this new registry key, follow these steps.

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.
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following registry subkey:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$HostnameNote In this registry subkey, HostName is the name of the host that is associated with the host instance.

    Note If the CLR Hosting key already exists, go to step 5.
  3. On the Edit menu, click New, and then click Key.
  4. Type CLR Hosting, and then press ENTER.
  5. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$Hostname
  6. On the Edit menu, click New, and then click DWORD Value.
  7. Type MinCompletionPortThreads, and then press ENTER.
  8. On the Edit menu, click New, and then click DWORD Value.
  9. Type MinWorkerThreads, and then press ENTER.
  10. Right-click MinWorkerThreads, and then click Modify.
  11. In the Edit DWORD Value dialog box, click Decimal, and then type the value that is calculated by using the recommended formula.

    Note For example, if you expect to load 200 messages on the SOAP adapter, the value should be 220.
  12. On the File menu, click Exit.
For more information about
MaxWorkerThreads
and BizTalk Server, visit the following Microsoft Developer Network (MSDN) site:
http://blogs.msdn.com/biztalkperformance/archive/2007/09/28/threads-db-sessions-and-throttling.aspx

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

BizTalk Server 2004

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft BizTalk Server 2004. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
888751 How to obtain the latest BizTalk Server 2004 service pack

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
Prerequisites
No prerequisites are required.
Restart requirement
You do not have to restart your computer after you apply this hotfix.
Registry information
You must modify the registry after you apply this hotfix. For more information, see the "More Information" section.
Hotfix replacement information
This hotfix does not replace any other hotfixes.
File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
   Date         Time   Version     Size    File name
   ---------------------------------------------------------------------------
   07-Oct-2004  21:16  3.0.5348.0  61,440  Microsoft.biztalk.soaptransport.dll  
Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was corrected in BizTalk Server 2004 Service Pack 1.

MORE INFORMATION

In BizTalk Server 2004, the hotfix that is described in the Resolution section introduces a new registry key that sets the minimum number of worker threads that are available to service SOAP requests on startup. Therefore, after you apply this hotfix, you must add the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc{Guid}\CLR Hosting
Additionally, you must add the following DWORD entries to this registry key:
  • MinCompletionPortThreads
  • MinWorkerThreads
We recommend that you set the value of the MinWorkerThreads DWORD entry by using the following formula:
Maximum number of messages that you expect to load on the SOAP adapter + 10%
For example, if you expect to load 200 messages on the SOAP adapter, the value should be 220. By default, the MinCompletionPortThreads DWORD entry is set to a value of 150.

To add this new registry key in BizTalk Server 2004, follow these steps.

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.
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc{GUID}
    Note In this registry subkey, GUID is a GUID.
  3. On the Edit menu, click New, and then click Key.
  4. Type CLR Hosting, and then press ENTER.
  5. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc{Guid}\CLR Hosting
  6. On the Edit menu, click New, and then click DWORD Value.
  7. Type MinCompletionPortThreads, and then press ENTER.
  8. On the Edit menu, click New, and then click DWORD Value.
  9. Type MinWorkerThreads, and then press ENTER.
  10. Right-click MinWorkerThreads, and then click Modify.
  11. In the Edit DWORD Value dialog box, click Decimal, and then type the value that is calculated by using the recommended formula.

    Note For example, if you expect to load 200 messages on the SOAP adapter, the value should be 220.
  12. On the File menu, click Exit.

Properties

Article ID: 886966 - Last Review: July 1, 2008 - Revision: 4.0
APPLIES TO
  • Microsoft BizTalk Server 2006 R2 Standard Edition
  • Microsoft BizTalk Server 2006 R2 Enterprise Edition
  • Microsoft BizTalk Server 2006 R2 Developer Edition
  • Microsoft BizTalk Server 2006 Standard Edition
  • Microsoft BizTalk Server 2006 Enterprise Edition
  • Microsoft BizTalk Server 2006 Developer Edition
  • Microsoft BizTalk Server 2004 Standard Edition
  • Microsoft BizTalk Server 2004 Partner Edition
  • Microsoft BizTalk Server 2004 Enterprise Edition
  • Microsoft BizTalk Server 2004 Developer Edition
Keywords: 
kbautohotfix kbbiztalk2004sp2fix kbbiztalk2004-2006swept kbbug kbfix kbhotfixserver kbqfe KB886966

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com