This article has been archived. It is offered "as is" and will no longer be updated.
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
Consider the following scenario. In Microsoft BizTalk Server 2006 or in Microsoft BizTalk Server 2004, your orchestrations are nondehydrating. You monitor the number of running orchestrations by using the Running Orchestrations performance counter in the XLANG/S Orchestrations performance object in Performance Monitor. You may notice that the number of running orchestrations increases and then remains constant after you reach the thread pool limit. This number remains constant until the orchestration load decreases. When this behavior occurs, orchestration execution time may increase.
In BizTalk Server, orchestrations typically contain dehydration points that enable the recycling of threads back to the thread pool. The default size of the thread pool is not designed for a solution in which you must have many nondehydrating orchestrations running at the same time.
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 resolve this behavior, first examine your orchestration design to see whether you can avoid the nondehydrating nature. If you cannot avoid the nondehydrating nature, change the default maximum worker threads that are available for the BizTalk Server host instance. There are valid orchestrations that must run for a long time without any valid dehydration points. For example, you may have an orchestration that features Expression shapes, and these Expression shapes make long-lived calls to an external component.
To change the default maximum worker threads, add the MaxWorkerThreads DWORD registry entry. To do this, follow these steps:
Click Start, click Run, type regedit, and then click OK.
Locate and then click the following registry subkey:
On the Edit menu, click New, and then click DWORD Value.
Type MaxWorkerThreads, and then press ENTER.
Right-click MaxWorkerThreads, and then click Modify.
In the Edit DWORD Value dialog box, click Decimal, type the new value, and then click OK.
Note The default value for MaxWorkerThreads is 25. The new value will depend upon the current number of Running Orchestrations that you view in Performance Monitor. An ideal value enables the maximum number of orchestrations that are running at the same to be serviced. However, an ideal value avoids introducing resource contention or excessive context switching into the solution.