使用 Visual Studio 负载测试确定 BizTalk Server 解决方案的最大可持续吞吐量(MST)的最简单方法是执行步骤加载模式,并将每秒收到的文档总数与每秒处理的文档总数进行比较。 只要每秒处理的平均文档总数大于或等于测试期间每秒收到的平均文档总数,那么负载被认为是可持续的。 如果每秒收到的平均文档总数大于测试期间每秒处理的平均文档总数,则负载不被视为可持续,这可以通过 BizTalk:Message Box:General Counters\Spool Size 计数器的值的相应增长来证明。 随着时间推移,当 BizTalk Server 应用程序收到的文档数超过可以处理的文档时,未处理的文档将累积到 MessageBox 数据库中,这最终会引发限制条件,并显著降低 BizTalk Server 应用程序的性能。
使用适用于应用程序的步骤加载模式配置负载测试
按照主题步骤 3 中的步骤 作:创建负载测试以同时执行多个单元测试 ,以创建使用步骤加载模式的负载测试。 影响 BizTalk Server 应用程序及时处理文档的能力的因素包括:
组中的 BizTalk Server 计算机数量 - 额外的 BizTalk Server 可提供更多的处理能力。
正在处理的消息的大小 - 较大的消息需要额外的处理资源。
-Mapping 执行的文档映射量需要额外的处理资源。
接收或发送应用程序所需的管道。 - 复杂的管道需要额外的处理资源。
BizTalk Server 应用程序使用的适配器和/或加速器 – 某些适配器和/或加速器需要比其他适配器和/或加速器更多的处理资源。
所需的消息跟踪量 – 消息跟踪是资源密集型的。
BizTalk Server 应用程序中运行的业务流程的数量和复杂性 – 业务流程可能非常占用大量资源。
配置步骤负载模式测试时,修改为 “开始用户计数 ”和 “最大用户计数 ”指定的值,以确保为“开始”用户计数指定的消息数可由 BizTalk Server 应用程序随时间推移轻松处理,同样,为最大用户计数指定的消息数超过 BizTalk Server 应用程序可以随时间推移处理的消息数。 有关编辑负载测试的负载模式设置的信息 ,请参阅添加负载测试并配置负载测试方案、计数器集和运行设置 。
确保为步骤模式负载测试使用正确的测试设置
将负载测试配置为使用在“将测试设置文件添加到解决方案”中创建的测试设置,以远程运行测试和收集数据。
使用适当的性能计数器配置负载测试并运行步骤模式负载测试
按照 添加自定义计数器集以度量 BizTalk Server 关键绩效指标(KPI) 中的步骤添加必要的 BizTalk Server 性能计数器,这些计数器可用于度量 BizTalk Server 应用程序的性能,并确定 BizTalk Server 应用程序不再能够维护负载测试代理创建的消息负载。 这可以通过 Spool 表中消息积压的累积来得到证实,因为 BizTalk:Message Box:General Counters\Spool Size 计数器的值增加。 如果此计数器的值开始显著增加,那么您可能已经超过了 BizTalk Server 应用程序的 MST。 确定 BizTalk Server 应用程序无法处理接收的同等数量的消息的临界点后,请记下发生此情形时每秒收到的文档数量。 请务必记下此值,因为主题 步骤 6:执行常量负载模式测试以验证最大可持续吞吐量 将介绍如何使用“常量用户计数”值运行常量模式负载测试,该值略小于收到的最大可持续文档数/秒值。 这样做是为了验证 BizTalk Server 应用程序是否能够随着时间的推移处理此数量的消息。 若要查看计数器集的值,请先右键单击测试名称(例如BTS_Messaging_Step),然后单击 “运行测试 ”菜单选项来启动负载测试。 初始化性能计数器并开始负载测试后,Visual Studio 会自动将焦点切换到 Graph 窗口,以便同时显示 1 到 4 个图形。 如果您主要希望仅查看关键绩效指标(KPI),如添加自定义计数器集以度量 BizTalk Server 关键绩效指标中定义的那样,请从“负载测试”菜单中点击面板下拉列表,然后选择一个面板的选项。 然后单击图表顶部的下拉列表,然后选择 “关键指示器 ”以实时显示关键绩效指标的值。
注释
由于某些默认计数器值将显示在 键指示器 图中,并且您可能希望显示添加到自定义计数器集的计数器值,因此可能需要从手动删除 键指示器 图中显示的每个计数器,然后手动从自定义计数器集添加计数器。 例如,至少需要将下表中的计数器添加到图中,以确定 BizTalk Server 环境处理负载的方式,以及可能出现任何瓶颈的位置:
计数器类别 | 计数器 | 实例 | 电脑 |
---|---|---|---|
BizTalk:消息框:常规计数器 | 卷轴大小 | BizTalk Server Message Box 数据库:包含 BizTalk Server Message Box 数据库的 SQL Server 实例 | 安装了 BizTalk Server 管理控制台的组中的任何 BizTalk Server。 |
BizTalk:消息传递 | 文件接收速率/秒 | RxHost (或接收主机的名称) | BizTalk Server 组中的 BizTalk Server Computer#1 |
BizTalk:消息传递 | 文件接收速率/秒 | RxHost (或接收主机的名称) | BizTalk Server 组中的 BizTalk Server Computer#2 |
BizTalk:消息传递 | 文件接收速率/秒 | RxHost (或接收主机的名称) | BizTalk Server 组中的 BizTalk Server Computer#n |
BizTalk:消息传递 | 处理的文档数/秒 | TxHost (或发送主机的名称) | BizTalk Server 组中的 BizTalk Server Computer#1 |
BizTalk:消息传递 | 处理的文档数/秒 | TxHost (或发送主机的名称) | BizTalk Server 组中的 BizTalk Server Computer#2 |
BizTalk:消息传递 | 处理的文档数/秒 | TxHost (或发送主机的名称) | BizTalk Server 组中的 BizTalk Server Computer#n |
处理器 | 处理器时间百分比 | 总计 | BizTalk Server 组中的 BizTalk Server Computer#1 |
处理器 | 处理器时间百分比 | 总计 | BizTalk Server 组中的 BizTalk Server Computer#2 |
处理器 | 处理器时间百分比 | 总计 | BizTalk Server 组中的 BizTalk Server Computer#n |
处理器 | 处理器时间百分比 | 总计 | 包含 BizTalk Server 数据库的 SQL Server 实例 |