BizTalk 主机表示一组零个或多个运行时进程,可在其中部署 BizTalk Server 服务和项目(例如适配器处理程序、接收位置和业务流程)。 主机实例是运行 BizTalk Server 的计算机上的主机的物理实例。 有关 BizTalk 主机和主机实例的详细信息,请参阅 主机 (https://go.microsoft.com/fwlink/?LinkId=154189)和 主机实例 (https://go.microsoft.com/fwlink/?LinkId=154190)。
有关管理 BizTalk 主机和主机实例的详细信息,请参阅 管理 BizTalk 主机和主机实例 (https://go.microsoft.com/fwlink/?LinkId=154191)。
有关如何配置专用跟踪主机的信息,请参阅 配置专用跟踪主机。
按功能分隔主机实例
除了主机实例配置的高可用性方面,还应将发送、接收、处理和跟踪功能分开到多个主机。 这在 BizTalk 组中配置工作负荷时提供了灵活性,并且是跨 BizTalk 组分发处理的主要方式。 这还允许你停止一个主机,而不会影响其他主机。 例如,你可能想要停止发送消息,让他们在 MessageBox 数据库中排队,同时仍允许入站接收消息。
按功能分隔主机实例也具有以下优势:
每个主机实例都有自己的一组资源,例如 .NET 线程池中的内存、句柄和线程。
多个 BizTalk 主机还能够减少对 MessageBox 数据库主机队列表的争用,因为在 MessageBox 数据库中,每个主机都有自己专属的工作队列表。
节流在 BizTalk Server 中是从主机级别实现的。 这允许为每个主机设置不同的限流特征。
安全性在主机级别实现;每个主机在离散 Windows 标识下运行。 例如,这允许你向Host_A授予对FileShare_B的访问权限,同时不允许任何其他主机访问文件共享。
注释
虽然创建其他主机实例有好处,但如果创建了过多的主机实例,则也有潜在的缺点。 每个主机实例都是 Windows 服务(BTSNTSvc.exe 或 BTSNTSvc64.exe),它针对 MessageBox 数据库生成额外的负载,并消耗计算机资源(例如 CPU、内存、线程)。
有关修改 BizTalk Server 主机属性的详细信息,请参阅 如何修改主机属性 (https://go.microsoft.com/fwlink/?LinkId=154192)。
32 位 BizTalk 主机实例内存使用量的最大实际限制
在启用了/3GB设置的32位Windows操作系统上,如果进程是“大地址感知”(即可执行文件在映像标头中设置了IMAGE_FILE_LARGE_ADDRESS_AWARE标志),则32位进程具有3 GB的可寻址内存。 BizTalk 主机进程是“支持大地址”的,这样可以在设置了 /3GB 的 Windows 操作系统上访问 3 GB 的内存。 同样,64 位 Windows作系统(AMD64)上的 32 位进程具有 4 GB 的可寻址内存(如果进程是“大型地址感知”)。 同样,BizTalk 主机进程支持大地址,在 64 位 Windows 操作系统上作为 32 位进程运行时,可以使用 4 GB 的内存。 64 位 Windows作系统 (AMD64) 上的 64 位进程具有 8 TB 的可寻址内存。
即使 32 位 Windows作系统(无 /3GB 交换机)上的进程可寻址的最大内存为 2 GB,但 .NET 应用程序(如 BizTalk 主机实例)在“虚拟字节”达到 2 GB 之前将收到内存不足错误。 下表总结了这一点,并包括虚拟字节和专用字节的实际限制。
流程 | Windows 操作系统 | 可寻址内存(具有大型地址感知进程) | 虚拟字节的实际限制 | PrivateBytes 的实际限制 |
---|---|---|---|---|
32 位 | 32 位 | 2 GB | 1400 MB | 800 MB |
32 位 | 32 位(启用/3GB 开关) | 3 GB | 2400 MB | 1800 MB |
32 位 | 64 位 | 4 GB | 3400 MB | 2800 MB |
64 位 | 64 位 | 8 TB | - | - |
有关详细信息,请参见:
ASP.NET 性能监视,以及何时向管理员发出警报 (https://go.microsoft.com/fwlink/?LinkId=151856)
Windows 版本的内存限制 (https://go.microsoft.com/fwlink/?LinkId=151857)