为负载测试配置测试控制器和测试代理

最终的Visual Studio可以使用计算机或一组计算机来生成用于测试的模拟负载,因此,运行在多台计算机上远程运行测试。这组计算机包含一个单独的测试控制器以及一个或多个测试代理。您可使用测试控制器和测试代理来生成超出一台计算机可独自生成的负载,或者仅仅执行远程测试。

要求

  • Visual Studio 旗舰版

负载模拟结构

负载模拟体系结构由 Visual Studio 客户端、测试控制器和测试代理组成。

  • 客户端用于开发测试,运行测试以及查看测试结果。

  • 测试控制器用于管理测试代理并收集测试结果。

  • 测试代理用于运行测试以及收集包含系统信息的数据和测试设置中定义的 ASP.NET 分析数据。

此体系结构提供了下列优点:

  • 通过向测试控制器添加其他测试代理,能够增加负载生成。

  • 在同一台计算机或不同的计算机上灵活安装客户端、测试控制器和测试代理软件。例如:

    本地配置:

    • Machine1:Visual Studio、控制器和代理。

    使用控制器和代理的本地计算机

    典型远程配置:

    • Machine1 和 2:Visual Studio(多名测试人员可以使用同一个控制器)。

    • Machine3:控制器(也可安装代理)。

    • Machine4-n:与 Machine2 上的控制器关联的一个或多个代理。

    使用控制器和代理的远程计算机

尽管一个测试控制器通常管理多个测试代理,但一个代理只能与一个控制器关联。每个测试代理可由一组开发人员共享。通过此体系结构,可以轻松增加测试代理的数目,从而生成更大的负载。

测试代理和测试控制器交互

测试控制器管理一组测试代理,以运行测试。测试控制器与测试代理进行通信,以启动测试、停止测试、跟踪测试代理状态和收集测试结果。

ms243155.collapse_all(zh-cn,VS.110).gif测试控制器

测试控制器提供了运行测试的通用体系结构,并且包含运行负载测试的专门功能。测试控制器向所有测试代理发送负载测试,并一直等到所有测试代理都初始化该测试。所有测试代理都准备就绪后,测试控制器便向测试代理发送消息以启动测试。

ms243155.collapse_all(zh-cn,VS.110).gif测试代理

测试代理作为一个服务运行,该服务侦听来自测试控制器的启动新测试的请求。收到请求后,测试代理服务将启动一个运行测试的进程。每个测试代理都运行同一负载测试。

管理员将为测试代理分配权重,并且根据测试代理的权重来分配负载。例如,如果测试代理 1 的权重为 30,测试代理 2 的权重为 70,负载设置为 1000 个用户,则测试代理 1 将模拟 300 个虚拟用户,而测试代理 2 将模拟 700 个虚拟用户。有关更多信息,请参见 用 Visual Studio 管理测试控制器和测试代理.

测试代理采用一组测试和一组模拟参数作为输入。测试是计算机独立运行它们在最终的Visual Studio的关键概念是。

测试控制器和测试代理连接点

下图演示测试控制器、测试代理和客户端之间的连接点。它概述了用于传入和传出连接的端口以及在这些端口上使用的安全限制。

测试控制器和测试代理的端口和安全性

有关更多信息,请参见为测试控制器和测试代理配置端口

测试控制器和代理安装信息

有关测试控制器和测试代理的硬件和软件要求、安装过程以及配置环境以获得最佳性能的重要信息,请参见安装和配置测试代理和测试控制器负载测试对测试控制器和测试代理的要求

将测试控制器和测试代理用于单元测试

在安装测试控制器以及一个或多个代理后,可以来指定对测试控制器使用远程执行在测试设置中负载测试。此外,还可以指定数据和诊断适配器以用于与测试设置中的代理相关联的角色。有关更多信息,请参见如何:为分布式负载测试创建测试设置使用测试设置来设置计算机和收集诊断信息

请参见

任务

如何:使用测试设置中指定的测试控制器和测试代理运行负载测试

如何:使用测试控制器和测试代理运行测试

演练:在负载测试中使用测试控制器和测试代理

如何:为分布式负载测试创建测试设置

如何:访问负载测试结果以进行分析

概念

使用 Visual Studio Web 性能和负载测试进行性能和压力测试

负载测试对测试控制器和测试代理的要求

其他资源

运行负载测试和 Web 性能测试