BizTalk Server 2013: Familiarize your Windows server to work with BizTalk
Introduction
When a Windows Server is set up and you are just about to install BizTalk on it, be aware that the server itself is not familiar with the load you're about to put through it. Therefor it is rather important to ensure that you have configured it correctly and that all settings and configuration is done accordingly to best practices when it comes to BizTalk.
Unused programs
Usually there are quite a few of unused services on the machine. Ensure that you disable the ones that are not needed, there is no exact list of what needs to be turned off. There is one in particular, and this is the windows service "Print Spooler", unless you are planning to print from the server, disable this service from starting up. Other programs in your production environment should be uninstalled, like Visual Studio, Office, NotePad++ or any other program that is installed on the machine. You should not log on the BizTalk server itself to maintain BizTalk, therefor programs that will take resources that should be dedicated purely to BizTalk and not tools to aid you.
Temp folder
First of all you should move the folders to a separate disk, rather than the C-drive. Ensure that no important files are located in the temp folder (temporary folders).
You can change this by following the steps below (Windows Server 2012):
- Open "Control Panel".
- Open "System and Security".
- Open "System".
- On the left side choose "Advanced Settings".
- In the window that pops up click "Advanced" on the top pane.
- Click the button "Environment Variables".
- You will locate User "TEMP" and "TMP" under the option "User variables for user <username>"
- Click these values and choose "Edit"
- Update the path to another disk
- Under "System Variables" find "TEMP" and "TMP"
- Click on these values and choose "Edit" and update the path to another disk
Windows Pagefile
BizTalk utilizes the page file extensively, ensure that this is not running on the same disk as the windows drive.
You can change this by following the below steps (Windows Server 2012)
- Open "Control Panel".
- Open "System and Security".
- Open "System".
- On the left side choose "Advanced Settings".
- In the window that pops up click "Advanced" on the top pane.
- Click the button "Settings" located in the "Performance" section.
- In the new windows choose "Advanced" from the top pane.
- Under the "Virtual Memory" choose "Change...".
- Set the pagefile up on another disk then the windows drive.
Registry
You also need to update the registry to tell the Windows Server that this is going to be a "hub" and in general a "message box". The settings and its recommended values are mentioned below:
Registry Path | String name | Value |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager | LargeSystemCache | dword:00000000 |
HKLM\\SYSTEM\CurrentControlSet\Control\Session Manager\Executive | AdditionalCriticalWorkerThreads | dword:00000010 |
HKLM\\SYSTEM\CurrentControlSet\Control\Session Manager\Executive | AdditionalDelayedWorkerThreads | dword:00000010 |
HKLM\SYSTEM\CurrentControlSet\Services\ldap | ldapclientintegrity | dword:00000000 |
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem | NtfsMftZoneReservation | dword:00000003 |
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem | NtfsDisable8dot3NameCreation | dword:00000001 |
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem | DontVerifyRandomDrivers | dword:00000001 |
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem | NtfsDisableLAstAccessUpdate | dword:00000001 |
HKLM\\SYSTEM\CurrentControlSet\Services\LanmanServer | MaxWorkItems | dword:00002000 |
HKLM\\SYSTEM\CurrentControlSet\Services\LanmanServer | MaxMpxCt | dword:00002000 |
HKLM\\SYSTEM\CurrentControlSet\Services\LanmanServer | MaxCmds | dword:00002000 |
HKLM\\SYSTEM\CurrentControlSet\Services\LanmanServer | Size | dword:00000003 |
Download script to update the registry here.
BizTalk Configuration file
Ensure that the BizTalk configuration file is clean, and that no passwords are stored in clear text here. If you are using WCF and publishing Web Services, ensure that you update the amount of connections allowed. you should set the value of "maxconnection" to 12 * the amount of cores you have on the machine. By adding address * the settings, go for all addresses, by adding a specific address you are setting the max connection to a specific address.
<configuration>
<system.net>
<connectionmanagement>
<add maxconnection="24" address="www.contoso.com">
<add maxconnection="48" address="*">
</add>
</add>
</connectionmanagement>
</system.net>
</configuration>
See Also
Another important place to find an extensive amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.