步骤 3:创建负载测试以便同时执行多个单元测试
负载测试运行一个或多个单元测试的多个实例,以便可以测量应用程序的性能和处理负载的能力。 Visual Studio 2010 负载测试的主要组件包括:
方案 - 负载测试的部分,可在其中配置测试负载模式、测试组合模型、测试组合、网络组合和 Web 浏览器组合。 方案适应了模拟复杂实际工作负荷配置文件的复杂性。 有关所有负载测试方案属性的完整列表,请参阅 负载测试方案属性 (
https://go.microsoft.com/fwlink/?LinkId=208327
) 。计数器集 – 负载测试的一部分,可在其中创建在负载测试运行时收集的特定分组或性能计数器的“集”。 默认情况下提供多个预定义的计数器集,可以添加自定义计数器集。 例如,若要评估网络性能,可以创建自定义计数器集,添加相关的网络性能计数器,并将其保存到可用计数器集的列表。 有关为负载测试创建和保存计数器集的详细信息,请参阅在负载测试 (
https://go.microsoft.com/fwlink/?LinkId=208328
) 中为计算机指定计数器集。运行设置 - 运行设置定义负载测试的多个方面,包括测试持续时间、负载测试期间与各种计算机关联的计数器集、各种测试验证选项和测试结果存储选项。 可以为每个负载测试创建和存储多个运行设置,然后选择运行测试时要使用的特定设置。 使用新建负载测试向导创建负载测试时,会向负载测试添加初始运行设置。 有关所有负载测试运行设置属性的完整列表,请参阅 负载测试运行设置属性 (
https://go.microsoft.com/fwlink/?LinkId=208329
) 。负载测试是使用“新建负载测试向导”创建的,使用负载测试编辑器进行编辑,并在负载测试分析器中进行分析。 所有这些工具都包含在 Microsoft Visual Studio Ultimate 版本中。 有关在 Visual Studio 2010 Ultimate Edition 中创建和编辑负载测试的详细信息,请参阅 创建和编辑负载测试 (
https://go.microsoft.com/fwlink/?LinkId=208308
) 。按照以下部分中的步骤,将负载测试添加到步骤 1:创建单元测试以将文档提交到BizTalk Server中所述的测试项目。 这些步骤还介绍了如何为负载测试配置 方案、 计数器集和 运行设置 。
添加负载测试并配置负载测试方案、计数器集和运行设置
本主题介绍如何使用 新建负载测试向导 将负载测试添加到测试项目,以及如何配置负载测试以满足特定需求。
使用新建负载测试向导将负载测试添加到测试项目
按照以下步骤使用新建负载测试向导将负载测试添加到测试项目。
在 Visual Studio 2010 中打开 负载测试 解决方案(如果尚未打开)。
将文件夹添加到 BTSLoad 项目;此文件夹将包含作为此项目的一部分创建的任何负载测试。 在解决方案资源管理器中,右键单击 BTSLoad 项目,指向“添加”,然后单击“新建文件夹”。 带有突出显示文本 NewFolder1 的文件夹图标将显示在 BTSLoad 项目下,键入 LoadTests 以更改突出显示的文本,然后按 Enter 键以完成文件夹 C:\Projects\LoadTest\BTSLoad\LoadTests 的创建。
在解决方案资源管理器中,右键单击 BTSLoad 项目,指向“添加”,然后单击“负载测试”以启动“新建负载测试向导”。
单击“下一步”。
在 “编辑负载测试方案的设置” 页上 ,输入负载测试方案的名称: 键入 BTS_Messaging_Step。 在 “思考时间配置文件 ”下,选择“ 不使用思考时间 ”,然后单击“ 下一步”。
在 “编辑负载测试方案的负载模式设置 ”页上,选择“ 单步加载”,输入以下值,然后单击“ 下一步”。
开始用户计数: 30 个用户
步骤持续时间: 60 秒
步骤用户计数: 10 个用户
最大用户计数 80 个用户
注意
为步骤负载模式应用设置时,应计算完成所有步骤增量所需的时间。 例如,使用上面指定的负载模式设置,负载测试将需要 5 分钟才能完成所有 60 秒的增量,而用户数量从 30 个增加到 80 个。 在“新建负载测试向导”的最后一页上,将显示用于指定负载测试长度的选项,其中一个选项将是 “负载测试持续时间”。 如果已计算完成所有步长增量所需的时间,则在本例中输入值 (5 分钟是一项简单的任务,) 负载测试持续时间。
在 “为负载测试选择测试组合模型 ”页上,选择“ 基于虚拟用户数 ”,然后单击“ 下一步”。
在 “将测试添加到负载测试方案并编辑测试组合 ”页上,单击“ 添加 ”按钮。
在 “可用测试 ”下,双击“ BTSMessaging ”和“ BTSMessaging2 ”,将这些单元测试添加到 “所选测试”列表。 单击“确定”,然后单击“下一步”。
在 “将网络类型添加到负载测试方案并编辑网络组合 ”页上,验证 “网络类型 ”是否设置为“ LAN , 分布 为 100% ”,然后单击“ 下一步”。
在 “指定要在负载测试运行期间使用计数器集监视的计算机 ”页上,单击“ 下一步”。
注意
此时不要将计算机添加到负载测试。 “新建负载测试向导”将只允许将计算机与预定义的计数器集相关联,并且此负载测试要求同时使用预定义计数器集和 自定义 计数器集。 完成向导并保存负载测试后,可以编辑负载测试以添加自定义计数器集,并将负载测试配置为使用预定义 和 自定义计数器集监视计算机。
在 “查看和编辑负载测试的运行设置 ”页上,输入以下值:
选择 “负载测试持续时间”。
预热持续时间 (hh mm ss) 30 秒
运行持续时间 (hh mm ss) 5 分钟
注意
为 运行持续时间 分配的时间应等于完成上述步骤 5 中所述的所有步骤增量所需的时间,或此示例的 5 分钟。
采样率 5 秒
说明 (可选) ,请在此处输入负载测试的说明。
保存测试失败日志 真
验证级别 低 - 调用标记为低的验证规则
单击“ 完成 ”关闭“新建负载测试向导”。
单击“文件”菜单,然后选择“将负载测试名称>.loadtest 另存为<”。
注意
在此示例中, <除非已手动更改文件的名称,否则负载测试名称> 将是 Visual Studio 2010 分配给负载测试文件的名称,通常为 loadtestx.loadtest。
将文件保存到之前创建的 C:\Projects\LoadTest\BTSLoad\LoadTests 目录。 使用用于方案的名称保存文件可能很有用;在此示例中,方案名称BTS_Messaging_Step因此负载测试文件将另存为 C:\Projects\LoadTest\BTSLoad\LoadTests\BTS_Messaging_Step.loadtest。
添加自定义计数器集以度量BizTalk Server关键绩效指标 (KPI)
按照以下步骤添加一个计数器集,其中包含性能计数器,用于测量确定BizTalk Server应用程序的最大可持续吞吐量 (MST) 所需的BizTalk Server KPI:
在解决方案资源管理器双击在上一部分创建的负载测试,以在负载测试编辑器中查看负载测试。
在负载测试编辑器中,单击以展开 计数器集。 请注意,没有用于BizTalk Server的预定义计数器集,因此必须将自定义的“BizTalk Server”计数器集添加到计数器集列表中。
右键单击“ 计数器集 ”,然后选择“ 添加自定义计数器集”。 默认情况下,此操作将创建名为 Custom1 的自定义计数器集。
右键单击 Custom1 计数器集,然后选择 “属性” ,将焦点设置为 Custom1 计数器集的“ 属性 ”对话框。
在“属性”对话框中双击名称 Custom1,键入 BizTalk,然后按 Enter 键将自定义计数器集重命名为 BizTalk。
在负载测试编辑器中,右键单击 BizTalk 计数器集,然后选择“ 添加计数器”。
在“计算机”下,键入BizTalk Server组中BizTalk Server计算机之一的名称,以显示包括BizTalk Server性能计数器的性能监视器类别。
重要
为了确保列出所有BizTalk Server性能类别和性能计数器,可能需要键入组中BizTalk Server的完全限定域名 (或 IP 地址) ,并且可能还需要在BizTalk Server计算机上启动以下主机的实例。
- 绑定到将在负载测试期间运行的业务流程的 BizTalk 主机实例。
- 配置为将在负载测试期间运行的适配器的发送或接收处理程序的 BizTalk 主机实例。
BizTalk Server提供了一组相当广泛的性能计数器。 为了确定BizTalk Server应用程序的“最大可持续性能” (MST) ,只需将以下BizTalk Server性能计数器添加到 BizTalk 自定义计数器集:
性能类别 性能计数器 处理器 _Total计数器实例的处理器时间百分比。 BizTalk:消息框:常规计数器 BizTalk MessageBox 数据库名称>的 Spool 大小<:<SQL Server实例名称>计数器实例。 注意:<BizTalk MessageBox 数据库名称和><SQL Server实例名称>只是 BizTalk MessageBox 数据库的实际名称和包含 BizTalk MessageBox 数据库的 SQL Server 实例的占位符。 应将这些占位符替换为 BizTalk MessageBox 数据库的实际名称以及关联的SQL Server实例。 BizTalk:Messaging 接收主机计数器实例的文档数/秒。
传输主机计数器实例处理的文档数/秒。BizTalk:消息代理 文档接收主机的消息传递传入速率。 BizTalk:消息代理 文档传输主机的消息发布传出速率。 XLANG/s 业务流程 业务流程处理主机已完成的业务流程数/秒。
修改运行设置以将计数器集映射到相应的计算机
按照以下步骤将相应的计数器集与相应的计算机映射为负载测试:
在 负载测试编辑器中,右键单击“ 运行设置” ,然后选择“ 管理计数器集”。
单击“ 添加计算机 ”,将新计算机添加到列表中。 一个图标,其中突出显示了文本 “新计算机 ”将显示在 要监视的计算机和计数器集下。 通过键入要添加到列表的计算机的名称来替换突出显示的文本。
将计算机添加到列表中后,单击以展开可用计数器集的列表,然后单击以选择一个或多个可用计数器集,以将计数器集 () 与计算机相关联。
重复步骤 2 和 3,直到将计数器集与要收集性能数据的所有计算机相关联。
将测试设置文件添加到解决方案以远程运行测试和收集数据
若要将负载测试配置为使用在步骤 2:配置Load Test Controller和代理计算机中创建的测试控制器和测试代理计算机,请按照将远程执行或数据收集的测试设置添加到解决方案中的步骤 (https://go.microsoft.com/fwlink/?LinkId=209182
) ,如下所示:
对于步骤 3,输入 名称 BizTalkLoadTest
忽略步骤 6,因为已在步骤 3 中输入了名称。
对于步骤 7,请在“ 说明”下输入“远程测试运行的默认测试设置”。
对于“步骤 8”,选择默认命名方案。
对于“步骤 9”,在“ 测试执行方法 ”下选择“ 远程执行”,在“ 控制器 ”下选择测试控制器计算机,并将 “角色 ”页上的剩余属性保留其默认设置。
对于“步骤 24”,选择“在默认主机中运行”选项,选择“默认”的“主机类型”,然后在“在 32 位或 64 位进程中运行测试”下,选择“在 64 位计算机上在 64 位进程中运行测试”选项。
对于“步骤 25”,选择“ 如果单个测试的执行时间超过,则将其标记为失败 ”,并将默认值保留为 30 分钟。
对于“步骤 27b”,选择“使用测试目录中程序集的加载上下文”检查框,然后单击“另存为”。
在“另存为”对话框中,验证是否在“文件名”旁边输入了“BizTalkLoadTest”名称,然后单击“保存”。 现已将测试设置文件添加到解决方案。