本主题介绍如何运行涉及多台机器的负载测试。章节目录:

了解目的和通用程序

Load Test 工具允许在远程机器上运行测试,这样您就可以生成非常大的负载并在网络上的不同主机上运行测试。

在远程机器上运行测试之前,需要执行三个主要步骤:

  • 将机器添加到 Load Tests 选项卡的机器区域。
  • 配置一个或多个场景,以便在远程机器上运行测试。
  • 将远程机器作为负载测试服务器启动。

执行完所有这些步骤之后,每当远程机器执行配置为包含该机器的负载测试场景时,负载测试将在该机器上运行测试。

添加和配置远程机器

有许多方法可以添加远程机器,以及配置它们的选项。

手动添加机器

若要手动添加远程机器,请完成以下操作:

  1. 右键点击机器文件夹并选择新建 Machines。机器文件夹中会出现一个新机器节点。
  2. 若要更改新机器的名称,请在右侧 GUI 面板的主机字段中输入。
  3. 若要更改新机器的端口,请在右侧 GUI 面板的端口字段中输入。
  4. 要配置机器以高流通量模式运行,请在机器配置面板中启用高流通量模式。有关高流通量模式的详情,请参阅使用高流通量模式

从机器列表中添加机器

若要从机器列表中添加机器,请完成以下操作:

  1. 点击负载测试选项卡中的机器文件夹。可用机器列表显示在项目配置面板的机器列表选项卡中。如果未显示任何机器,则表示未在您的网络中找到 Load Test Windows 服务。
  2. 选择要添加的机器,然后点击添加
  3. 要刷新可用机器列表,请点击刷新

在高级视图中添加机器

若要在高级视图中添加机器,请完成以下操作:

  1. 点击负载测试选项卡中的机器文件夹。项目配置面板中显示了机器列表和高级视图选项卡。
  2. 点击高级视图选项卡。
  3. 右键点击远程机器行,选择添加到机器列表。所选机器必须正在运行,才能添加到机器列表中。

    在负载测试树的机器节点中,会出现一个带有所选机器主机名的新机器节点。

注意

localhost 是 Load Test 选项卡的 Machines 分支中列出的默认机器。如果选择 localhost 节点,则您将看到名称被设置为 localhost,端口被设置为 0。这些设置是固定的,无法更改。

在高级视图选项卡中配置选项

高级视图选项卡列出作为 Load Test Windows 服务安装在本地网络上的所有远程计算机。所有这些机器都可以用来运行额外的负载测试。

如果想在本地网络上配置一台远程机器来运行负载测试,那么该机器的负载测试版本必须与您机器上运行的负载测试版本匹配。

即使您没有将 Load Test 作为 Windows 服务安装,也始终能够访问高级视图选项卡和配置该面板中显示的远程机器。但是,如果您没有将 Load Test 作为 Windows 服务安装,您的机器将不会出现在高级视图选项卡中,其他远程机器也无法配置您的机器。

高级视图选项卡提供以下选项:

  • 刷新:点击此处可找到本地网络上的所有 Load Test Windows 服务安装程序。表显示每个远程机器安装的属性,并按列标题进行排序。表中显示以下内容:
    • 主机:显示远程计算机的名称。
    • 流程状态:显示 Load Test 服务器进程是否正在运行。
    • 流程端口:显示 Load Test 服务器正在监听的端口号。
  • 检测进程状态:点击以查看所选机器的进程状态。
  • 开始:点击以在选定的远程主机上启动 Load Test 服务器进程。
  • 停止:点击以停止所选远程主机上的 Load Test 服务器进程。

注意

若要查看远程安装详细信息,请先点击检测进程状态按钮,然后双击表中所需行。此时将打开启动器属性对话框。在此对话框中,您可以查看版本和构建日期、已安装的应用程序文件以及所选安装的端口名称和端口号。

验证远程机器

您可以通过以下两种方式之一验证添加到 Load Tests 选项卡下机器文件夹中的远程机器是否正在运行并能与您的机器通信:

  • 右键点击机器文件夹并选择验证机器机器文件夹下的所有机器都将按顺序进行验证。
  • 右键点击机器文件夹中的一个远程机器节点,然后选择验证。这样只会验证该远程机器。

在验证远程机器之后,远程机器节点左侧的状态指示器将发生更改,验证细节将显示在消息窗口中。

根据远程机器的状态,远程机器节点左侧的颜色会发生如下变化:

  • 绿色:指示远程计算机已准备好。
  • 灰色:指示远程计算机正在运行负载测试。当负载测试运行时,灰色表示机器处于繁忙状态,不能用于其他负载测试。
  • 红色:指示远程计算机不可用,将无法运行任何负载测试。

将项目外部依赖项转移到远程计算机

在负载测试工具中使用的 SOAtest 项目可以具有外部依赖关系,其形式是由负载测试的虚拟用户在执行 SOAtest 测试时使用的文件。为了使最快的项目测试正常运行,这些外部资源需要同时在负载测试控制器机器和运行负载生成器的远程机器上可用。Load Test 自动化了将外部依赖项转移到远程机器的过程。

机器的同步状态

将项目依赖项转移到名为 synchronization 的远程机器码的过程。负载测试配置树反映远程机器的同步状态。机器状态图标上的“来回”箭头表示机器的同步状态:

  • 绿色箭头:表示机器同步。项目所需的所有外部资源在远程计算机上都可用。
  • 红色箭头:表示机器不同步。远程计算机上缺少项目所需的全部或部分外部资源。
  • 灰色箭头:机器的同步状态未知。

如果将鼠标移到负载测试配置树中的机器节点上,工具提示将显示机器可用性和同步状态。

选择同步的资源

您可以控制哪些外部资源被转移到远程机器。操作步骤:

  1. 在 Load Test 配置树中,点击机器文件夹中的 localhost
  2. 在 localhost 配置面板的机器依赖选项卡中,选择要传输到远程机器的资源。
    • 如果依赖表为空,则意味着应用程序无法找到任何外部依赖项或无法找到当前项目。
    • 默认情况下选择所有资源。如果您使用 Load Test 之外的根据具体项目设置和测试环境情况定制的自定义依赖传输机制,则可以取消选中部分或全部资源。

注意,如果在资源选择树表中选择一行,那么外部依赖于 localhost 的位置将显示在资源路径子面板(树表下)中。

查看远程机器的同步详细信息

若要查看特定机器的同步状态:

  • 右键点击相应的机器节点,选择检查同步

若要检查配置中所有启用机器是否同步,请执行以下操作:

  • 右键点击机器文件夹并选择检查同步

远程机器同步状态在资源树表中报告,资源树表位于远程机器配置面板的“机器依赖项”选项卡中。如果在树表中选择一行,同步细节将显示在资源状态子面板中。

属于本地安装的机器(在任何端口上运行的本地主机机器)将始终显示为完全同步的。这是因为这些负载测试机器与充当控制器的 localhost 机器属于相同的安装。

手动同步远程机器

若要同步特定的远程机器:

  • 右键点击相应的机器节点,选择同步

若要同步化配置中所有启用的机器,请执行以下操作:

  • 右键点击机器文件夹并选择同步

一个单独的对话框将显示为同步选择的机器的同步进度。

您会发现:

  • 在同步之前,您不必检查机器的同步状态。负载测试将在任何同步之前自动执行此操作。
  • 在启动负载测试之前,您不必手动同步远程机器。作为负载测试启动过程的一部分,应用程序将自动为您完成。但是,您可以选择手动同步机器,以减少负载测试启动时间。

Load Test 启动过程中的远程机器自动同步

远程机器同步是机器初始化任务的一部分,它在每次负载测试开始之前执行。在同步阶段,只有那些丢失或修改的资源才会被转移到远程机器上。初始化过程的状态和每台机器的每个初始化阶段的详细信息都反映在负载测试启动对话框的任务进度面板中。

处理 SOAtest 项目依赖关系

如果您在负载测试中使用的 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 服务器正在网络 A 和 B 之间监听的端口相关联的 TCP 通讯报文交换(“开放端口”)。
  • 解除、删除或禁用任何可能阻止网络 A 和 B 之间与该端口关联的 TCP 通信的协议过滤器。

从 GUI 运行测试

启动 Load Test 服务器

当您希望在这些机器上执行负载测试时,远程机器必须运行 Load Test 服务器。

若要从 GUI(仅限 Windows)启动 Load Test 服务器,请执行以下操作:

  • 请前往 Start > Programs > Parasoft > Load Test > Load Test 服务器

运行负载测试

在 Load Test 服务器模式下启动测试机器后,点击客户端机器工具栏中的 Load Test 即可开始测试。

在测试期间,每台机器将执行指定的虚拟用户数量和用户配置文件的类型。Load Test 将显示客户端的加载速率以及所有服务器的加载速率。

所有结果将在客户端报告。通过从 Load Test 结果的机器框中选择相应的项,可以确定 Load Test 是否显示所有机器的负载测试结果,或者显示所选机器的负载测试结果。

通过命令行界面运行测试

请参阅 Load Test 命令行界面 - cli


  • No labels