Load balancing in BizTalk

On one of our client sites, we have the following BizTalk 2006 topology in a production environment:

  • 2 BizTalk Runtime Servers
  • 1 SQL Server with MsgBox and TrackingDB on it.

One of the runtime servers is a dedicated physical server and the other is a virtual server, although both have 4 processors and 8 GB of memory. The physical server CPU is hardly used, while the virtual server is always at 50-60% CPU usage.

Is there a way to configure the BizTalk load balancing algorithm so that it loads more load on one server than another?

0


source to share


2 answers


Yes and no exact answer :-)

Given one host, with one instance on each server, BizTalk takes a simple round-robin approach to load balancing; since a service (orchestration or pipeline) is pegged to a node, the answer is that no more "weight" can be assigned to one service for a particular server. The download will be evenly distributed among the instances.

However, if you have multiple services and it makes sense, you can extend some of them exclusively to the physical field, and some to both; this would mean that the physical box would be more loaded than the virtual one.



Obviously, when configuring two servers, this means you lose redundancy, but I would not make the decision easy, so I would recommend against it.

(having said that - you are saying you have one SQL block, so perhaps redundancy is not a major issue?)

+2


source


Also, if you are doing HTTP fetch check your NLB setup. Perhaps he prefers one server over another based on his configuration.



Another suggestion is to shutdown the host instances on the VM and run it mostly from the physicaL field. If the physical box is missing, set up a MOM alert or such to run a script to start the VM host instances. We are doing something similar to get FTP on our cluster.

+1


source







All Articles