本主题介绍如何运行涉及多台机器的负载测试。章节目录:
Load Test 工具允许在远程机器上运行测试,这样您就可以生成非常大的负载并在网络上的不同主机上运行测试。
在远程机器上运行测试之前,需要执行三个主要步骤:
执行完所有这些步骤之后,每当远程机器执行配置为包含该机器的负载测试场景时,负载测试将在该机器上运行测试。
有许多方法可以添加远程机器,以及配置它们的选项。
若要手动添加远程机器,请完成以下操作:
若要从机器列表中添加机器,请完成以下操作:
若要在高级视图中添加机器,请完成以下操作:
localhost 是 Load Test 选项卡的 Machines 分支中列出的默认机器。如果选择 localhost 节点,则您将看到名称被设置为 localhost,端口被设置为 0。这些设置是固定的,无法更改。 |
高级视图选项卡列出作为 Load Test Windows 服务安装在本地网络上的所有远程计算机。所有这些机器都可以用来运行额外的负载测试。
如果想在本地网络上配置一台远程机器来运行负载测试,那么该机器的负载测试版本必须与您机器上运行的负载测试版本匹配。
即使您没有将 Load Test 作为 Windows 服务安装,也始终能够访问高级视图选项卡和配置该面板中显示的远程机器。但是,如果您没有将 Load Test 作为 Windows 服务安装,您的机器将不会出现在高级视图选项卡中,其他远程机器也无法配置您的机器。
高级视图选项卡提供以下选项:
若要查看远程安装详细信息,请先点击检测进程状态按钮,然后双击表中所需行。此时将打开启动器属性对话框。在此对话框中,您可以查看版本和构建日期、已安装的应用程序文件以及所选安装的端口名称和端口号。 |
您可以通过以下两种方式之一验证添加到 Load Tests 选项卡下机器文件夹中的远程机器是否正在运行并能与您的机器通信:
在验证远程机器之后,远程机器节点左侧的状态指示器将发生更改,验证细节将显示在消息窗口中。
根据远程机器的状态,远程机器节点左侧的颜色会发生如下变化:
在负载测试工具中使用的 SOAtest 项目可以具有外部依赖关系,其形式是由负载测试的虚拟用户在执行 SOAtest 测试时使用的文件。为了使最快的项目测试正常运行,这些外部资源需要同时在负载测试控制器机器和运行负载生成器的远程机器上可用。Load Test 自动化了将外部依赖项转移到远程机器的过程。
将项目依赖项转移到名为 synchronization 的远程机器码的过程。负载测试配置树反映远程机器的同步状态。机器状态图标上的“来回”箭头表示机器的同步状态:
如果将鼠标移到负载测试配置树中的机器节点上,工具提示将显示机器可用性和同步状态。
您可以控制哪些外部资源被转移到远程机器。操作步骤:
注意,如果在资源选择树表中选择一行,那么外部依赖于 localhost 的位置将显示在资源路径子面板(树表下)中。
若要查看特定机器的同步状态:
若要检查配置中所有启用机器是否同步,请执行以下操作:
远程机器同步状态在资源树表中报告,资源树表位于远程机器配置面板的“机器依赖项”选项卡中。如果在树表中选择一行,同步细节将显示在资源状态子面板中。
属于本地安装的机器(在任何端口上运行的本地主机机器)将始终显示为完全同步的。这是因为这些负载测试机器与充当控制器的 localhost 机器属于相同的安装。
若要同步特定的远程机器:
若要同步化配置中所有启用的机器,请执行以下操作:
一个单独的对话框将显示为同步选择的机器的同步进度。
您会发现:
远程机器同步是机器初始化任务的一部分,它在每次负载测试开始之前执行。在同步阶段,只有那些丢失或修改的资源才会被转移到远程机器上。初始化过程的状态和每台机器的每个初始化阶段的详细信息都反映在负载测试启动对话框的任务进度面板中。
如果您在负载测试中使用的 SOAtest 项目使用了一个文件数据源,并且如果希望文件数据源使用文件数据源时导入目录中的所有文件,那么请确保启用该数据源的基于上次导入动态刷新选项。如果不启用该选项,则文件数据源将只使用文件数据源表中所列出的文件,即使导入目录中存在其他文件。
若要禁用或启用现有机器:
如果禁用机器,则机器将不会和负载测试一起运行,直到再次启用它。
若要配置一台机器以高流通量模式运行:
有关高流通量模式的详情,请参阅使用高流通量模式。
默认情况下,Load Test 将对测试中涉及的所有机器应用相同的配置文件和虚拟用户数量的比率或命中率。不过,您可以在场景设置面板中禁用单独的机器,为不同的机器自定义场景;详情请参阅自定义测试套件场景。
负载测试控制机器(在 GUI 模式以及从您控制负载测试的地方运行)可以使用不同网络上的负载测试服务器如果连接这些网络的网络设备允许在正在监听的负载测试服务器的端口号上的通讯。
例如,如果在网络 A 上运行您的负载测试控制器,并通过网络 B 上的“lt -loadtestserver 10095”命令在端口号 10095 上启动负载测试服务器,您需要确保介于网络 A 和网络 B 之间在端口 10095 上的通信不受网络设备的限制。
告知系统或网络管理员有关网络配置的问题。配置应该允许该端口的任何 TCP 通讯报文交换。连接网络 A 和网络 B 的网络设备可以将通讯报文从一个网络传递到另一个网络,也可以阻塞它。可以对网络设备进行配置,以便在网络之间传递与某个端口相关的 TCP 通讯报文(即“开放端口”)。然而,这可能还不够。有时,与某个端口关联的网络 A 和网络 B 之间的通信只能用于特定的网络协议。例如,A 和 B 之间的通信可能在端口 80 上打开,但只对 HTTP 协议通讯报文开放。如果负载测试控制器和服务器位于不同的网络上,则连接这两个网络的网络设备应配置为:
当您希望在这些机器上执行负载测试时,远程机器必须运行 Load Test 服务器。
若要从 GUI(仅限 Windows)启动 Load Test 服务器,请执行以下操作:
在 Load Test 服务器模式下启动测试机器后,点击客户端机器工具栏中的 Load Test 即可开始测试。
在测试期间,每台机器将执行指定的虚拟用户数量和用户配置文件的类型。Load Test 将显示客户端的加载速率以及所有服务器的加载速率。
所有结果将在客户端报告。通过从 Load Test 结果的机器框中选择相应的项,可以确定 Load Test 是否显示所有机器的负载测试结果,或者显示所选机器的负载测试结果。