This is more of a recommended practice from me rather than a performance tip, and I know that this topic has been touted by many BizTalkers.
I believe it is very important to separate your hosts by the purpose they serve; not only will this allow for security and performance but also from an operational point of view.
The key separation criteria are:-
- functionality (receive, send, orchestration and tracking)
- isolation (per application)
Furthermore, by having separate hosts, you have the opportunity to tune the host specifically for the task at hand; for example, you can optimise the polling interval for the host for messaging scenarios. A bonus to performance without dragging other scenarios (e.g. orchestrations) into the mix and thus not degrading your BizTalk performance.
From an operational point of view, having separated hosts allows for Production Support / BAU work to be carried out with minimal impact on other BizTalk applications. My experience has shown me that I’m usually NOT the only BizTalk consulting company or consultant who’s provided a BizTalk application for the given client; I am one of several, and adhering to this practice ensures that I’m a “good citizen”.
I urge you to read Tord Glad Nordahl’s groovy post over at http://biztalkadmin.com/biztalk-health-check-part-2/ on this topic.
Until next tip… be good!