【问题标题】:Load Balancing in BizTalkBizTalk 中的负载平衡
【发布时间】:2010-09-28 14:55:37
【问题描述】:
在我们的一个客户站点,我们在生产环境中有以下 BizTalk 2006 拓扑:
- 2 个 BizTalk 运行时服务器
- 1 个带有 MsgBox 和 TrackingDB 的 SQL Server。
其中一个运行时服务器是专用物理服务器,另一个是虚拟服务器,尽管它们都有 4 个 CPU 和 8Gb 内存。
物理服务器 CPU 几乎没有使用,而虚拟服务器始终使用 50% - 60% 的 CPU 使用率。
有什么方法可以配置 BizTalk 负载平衡算法,使其在一台服务器上的负载比在另一台服务器上多?
【问题讨论】:
标签:
biztalk
load-balancing
【解决方案1】:
是和否是准确的答案:-)
给定一台主机,每台服务器上都有一个实例,BizTalk 将采用简单的循环方法来实现负载平衡;由于服务(编排或管道)与主机绑定,答案是对于单个服务,不可能为特定服务器分配更多“权重” - 负载将在实例之间均匀分布。
但是,如果您有多个服务,并且这是有意义的,您可以将其中一些专门分发到物理框,而将一些分发到两者;这意味着物理盒子会比虚拟盒子承受更多的负载。
显然 - 在两台服务器配置上 - 这确实意味着您会失去冗余,但我不会轻易做出这个决定,因此我建议不要这样做。
(话虽如此 - 你说你有一个 SQL 框,所以冗余可能不是主要问题?)
【解决方案2】:
此外,如果您正在进行 HTTP 接收,请检查您的网络负载平衡器的配置。根据其配置,它可能更喜欢一台服务器而不是另一台服务器。
另一个建议是禁用 VM 上的主机实例并主要在物理机上运行。如果物理机出现故障,请设置 MOM 警报等以启动脚本以启动 VM 主机实例。我们对集群中的 FTP 接收执行类似的操作。