Monday, 26 September 2011

BizTalk Best Practices Analyser (1)

Two issues that are easy to fix.

Details for both here: http://msdn.microsoft.com/en-us/library/aa561380.aspx

 

Thread Pool Setting of Host Instance MyHostInstance of Host MyHost

You need to change the registry settings. A example registry file (.reg) is as follows:

START FILE

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTSSvc$MyHost\CLR Hosting]
"MaxIOThreads"=dword:00000064
"MaxWorkerThreads"=dword:00000064
"MinIOThreads"=dword:00000019
"MinWorkerThreads"=dword:00000019

END FILE

You will need to change “MyHost” to match your host name. If you create a .reg file with this content, you can easily merge it to your registry.

The “dword” values are as follows:

  • Max IO threads = 100
  • Max worker threads = 100
  • Min IO threads = 25
  • Min worker threads = 25

These values are taken from the MSDN link above.

 

No maxconnection Setting is Found in machine.config or BTSNTSvc.exe.config or BTSNTSvc64.exe.config

You need to change the following files:

  • %systemdrive%\Program Files (x86)\Microsoft BizTalk Server 2009\BTSNTSvc.exe.config
  • %systemdrive%\Program Files (x86)\Microsoft BizTalk Server 2009\BTSNTSvc64.exe.config

Add a “system.net” section as follows (by default, BTSNTSvc.exe.config and BTSNTSvc64.exe.config do not have such a section).

<system.net>
  <connectionManagement>
    <add address="*" maxconnection="12" />
  </connectionManagement>
</system.net>

Where the “maxconnection” value should be 12 multiplied by the number of processors on the server. The above is an example only, in my scenario each BizTalk server had two processors, so my “maxconnection” value was “24”.


About Me