每个应用程序应该有自己的主机实例/主机实例吗?

时间:2014-03-27 17:13:41

标签: biztalk biztalk-2010

BizTalk中的每个应用程序是否都有自己的主机实例/主机实例?

我已经阅读过各种博客文章和书籍,为不同的任务设置不同的主机实例是一种很好的做法,例如:一个用于接收,一个用于发送,一个用于编排,一个用于跟踪。

但是,每个应用程序是否应该获得自己的接收,发送,编排和跟踪主机?,或者它只是所有应用程序中的一个?

2 个答案:

答案 0 :(得分:2)

正如您所读,没有明确的规则。

每个应用程序是否都有专用的主机/实例?当然,如果您的硬件应用程序数量相对较少。

如果一个应用程序存在问题,还需要考虑。

每个应用程序是否都有单独的Receive,Send或Orch主机?不,不要开始。如果您观察到特定操作消耗了不合理的资源,则将其拆分。

答案 1 :(得分:2)

简短回答,可能不会,除非该应用程序的某个特定方面导致其他应用程序出现性能问题。如果是这种情况,您只会为导致问题的特定部件创建主机。例如如果它是接收适配器,您将为在该适配器下运行的接收位置创建主机。如果是该应用程序的Orchestrations,则为该应用程序创建一个处理主机,以便该应用程序的Orchestration运行。

来自微软的长篇回答 High Availability for BizTalk Hosts

其他主机的缺点

虽然创建其他主机实例有好处,但如果创建的主机实例太多,也存在潜在的缺点。每个主机实例都是Windows服务(BTSNTSvc.exe或BTSNTSvc64.exe),它会对MessageBox数据库产生额外的负载并消耗计算机资源,例如CPU,内存和线程。除此之外,您还有以下原因未配置太多其他主机实例:

  • 每个主机报告了几个性能计数器,其粒度太大。这会影响需要遍历大量数据的管理员的可用性。这会对管理员的整体视图产生负面影响。

  • 每个主机都会消耗大量内存,这可能会导致限制并降低性能。

  • 如果主机有接收连续执行轮询的适配器,则每个主机将以较短的间隔轮询数据库,从而导致性能下降。