本主题介绍业务活动监视(BAM)性能因素。
BAM 磁盘使用情况配置
当 BizTalk 系统处于高负载状态时,由于大量数据持续保存到 BAM 数据库,BAM 会产生显著的开销。 因此,对 BAM 数据库的磁盘 I/O 技术进行明智的使用至关重要。
BAM EventStream API 接口
四种类型的 EventStream 可用于 BizTalk BAM 方案:
DirectEventStream (DES)
BufferedEventStream (BES)
OrchestrationEventStream (OES)
MessageEventStream (MES)
应根据以下因素选择以下 API 之一:
如果担心延迟,请选择 DES 选项,其中数据同步保存到 BAM 主数据导入数据库。
如果担心事件插入的性能和吞吐量,请选择异步 API(BES、OES 或 MES)。
如果要编写在未安装 BizTalk Server 的计算机上运行的应用程序,请使用 DES 和 BES;这些 API 可用于非 BizTalk 应用程序。
注释
在某些情况下,可能需要混合 EventStream 类型。 例如,对于数据处理流程,您可能需要获取 BAM 中的特定数据,而不考虑流程是否正在回滚交易。 具体而言,你可能希望捕获有关管道处理期间失败的消息数或重试次数的数据。 若要在此情况下捕获数据,应使用 BES。
如果应用程序在安装了 BizTalk Server 的计算机上运行,请使用 MES 和 OES。 (这些 API 仅适用于 BizTalk 应用程序。
注释
OES 等效于 MES,但适用于 BizTalk 业务流程。
如果希望 BAM 事件持久性与管道事务同步,则应使用消息传送事件流(MES)。
所有异步 EventStreams(BES、MES 和 OES)首先将数据保存到 BizTalk MessageBox 数据库。 通过跟踪数据解码服务(TDDS)定期地处理数据,并将其持久化到 BAM 主导入数据库。
有关 BAM EventStream API 的详细信息,请参阅 BizTalk Server 文档中的 EventStream 类 (https://go.microsoft.com/fwlink/?LinkId=158046)。
BAM 性能计数器
有关 BAM 性能计数器的详细列表,请参阅 BizTalk Server 文档中的 BAM 性能计数器 (https://go.microsoft.com/fwlink/?LinkId=158048)。