Have a look at Ewan Fairweather’s very interesting webcast on
BizTalk 2009 performance. He says they saw a decrease in performance moving from 32bit to 64bit because the default settings for memory allowance for the XLANG hosts (unchanged from 32bit to 64bit) cause excessive dehydration (~70 orchestrations a second, when none should be dehydrated) at memory usage levels
appropriate for 64 bit processes. By optimising these he saw a 33% increase in performance, so if you’re running BizTalk on 64bit this is definitely something to look at during the test and tune cycle.
| Default
| Optimised
|
VirtualMemory ThrottlingCritera
|
|
|
OptimalUsage
| 900
| 6000
|
MaximalUsage
| 1300
| 6300
|
PrivateMemory ThrottlingCriteria
|
|
|
OptimalUsage
| 50
| 700
|
MaximalUsage
| 350
| 1000
|
PhysicalMemory ThrottlingCriteria
| disabled
|
|
Descriptions of the settings
here.
Another interesting point is that they showed scaling from 2 to 3, 4 BizTalk servers
all doing the same work with one messagebox server caused a performance decrease due to excessive polling on the database. Performance increased for 3+ BizTalk servers once 3 messagebox SQL servers were used.
They also tested physical vs virtual server performance and saw that virtualisation carries the following overhead:
- Throughput is down by 13%
- Latency is up by 15%
One of the other items pointed out is a SQL script that segregates out various objects in the messagebox schema to different file groups. This caused significant performance improvements.
Optimising Filegroups for the Databases
Also some further links of interest:
BizTalk Server 2009 Performance Optimization Guide
Microsoft BizTalk Server 2009 Operations Guide
BizTalk Server 2009 Hyper-V Guide
Richard Seroter - Interview with Ewan Fairweather