在您的应用上运行性能测试

在发布你的应用程序之前,使用Visual Studio 旗舰版中的负载测试发现性能问题。

不想使用你的资源并将你自己的计算机设置为创建此负载吗? 可以使用基于云的负载测试来提供同时生成访问网站的多个用户的负载的云端虚拟机。 你所需要的是一个 Visual Studio Online 帐户。 了解有关这个基于云的负载测试服务,它每月提供负载测试的 15000 分钟的免费虚拟用户时间。

要使用本地资源负载测试你的应用程序或使用基于云的负载测试,你首先要创建 web 性能测试。 这些测试用于你的负载测试中,模拟多个用户在你的应用程序中同时执行操作。

创建 Web 性能和负载测试项目

  1. 如果你没有 Visual Studio 旗舰版,请从此处获取它。

  2. 创建 Web 性能和负载测试项目。

    Create Web Performance and Load Test project

记录 Web 性能测试

  1. 创建 Web 性能测试。

    Create web performance test

    你的 Web 浏览器随即打开。

  2. 输入要测试的网站的 URL。

    Enter url - web test recorder automatically starts

  3. 如果你希望客户使用自己的应用程序,也请你使用。 例如,搜索项并将其添加到购物车中。

    记录器将捕获 HTTP 请求和响应。

  4. 完成后,请停止记录。

    Use your application as user would, stop recording

    现在,Visual Studio 为你的每个 HTTP 请求的 HTTP 响应查找动态参数。 发生这种情况时,将显示进度栏。

    如果找到动态参数,则会显示一个表。 利用该表,你可以将常数值分配给每个动态参数

  5. 重命名你的测试。 例如,ShoppingCart.webtest。

    Rename web performance test

  6. 编辑测试属性以指定性能目标。 例如,可以将页面响应时间目标设置为 1 秒。

    Edit page response time goal property to 1 second

  7. 保存测试。

创建负载测试

  1. 在 Web 性能和负载测试项目中创建新的负载测试。

    Create new load test

  2. 负载测试向导出现后,请选择负载模式步骤。

    将负载模式更改为分级负载。 这将随着时间逐渐添加用户。

    Configure the step pattern

  3. 选择测试组合步骤。

    New Load Test Wizard - Test Mix page

    添加创建的 Web 性能测试。

    Add tests to the test mix

    将 Web 性能测试移至要运行的测试列表中。

    Select which tests to include in the test mix

  4. 完成向导后,Web 性能测试就会添加到负载测试并显示在负载测试编辑器中。

    Load test editor

运行并分析负载测试

可以在本地运行负载测试,也可使用 Visual Studio Online 在云中运行测试。 你只需一个 Visual Studio Online 帐户。 如果在云中运行负载测试,则无需设置测试控制器和测试代理即可生成更多负载。 要了解有关使用基于云的负载测试轻松运行负载测试的更多信息,请转到此处

请按以下步骤在本地计算机上运行负载测试。

  1. 运行负载测试。

    Run a load test from toolbar

    测试开始运行。

  2. 在测试运行时,你会发现购物车页的响应时间超过你设置的值。

    Analyzing page response time issue

    添加分析注释以跟踪问题。

    Add an analysis note during test

    负载测试完成后,将显示摘要。

    已完成测试的结果包含性能计数器数据、阈值冲突和错误信息。

    Load test summary

  3. 选择详细信息视图。 通过分析用户的分级负载模式,可以确定性能无法满足你的需求的用户计数。

    Detail view with step load pattern

    修复应用程序代码中的所有性能问题,然后重新运行该测试。

改进负载测试

问题解答

问:如何增加我的负载测试的容量?

你可以使用基于云的负载测试服务,它允许你在多个云端虚拟机上运行测试。 你还可以使用在本地测试控制器和测试代理。 请参阅创建和运行负载测试 [重定向]

使用 Visual Studio 旗舰版试用版本时不支持使用测试控制器和代理。

问:我可以在负载测试中配置多少个虚拟用户?

**答:**在 Visual Studio Ultimate 的完整版本中,虚拟用户数是不受限的。 但是,如果你需要模拟数以千计的用户,请使用测试控制器和测试代理计算机

在 Visual Studio Ultimate 试用版本中,虚拟用户计数不能超过 250。

问:我是否可以分析之前运行的负载测试?

:可以,可使用负载测试编辑器中的“打开和管理结果”按钮 Manage results toolbar button。 你可以同时打开多个测试来比较运行,也可以创建趋势分析报表来对它们进行比较。 .

问:在正在运行的测试中和已完成的测试中可分析的内容之间是否存在差异?

:是,这些差异包括:

  • 性能计数器 运行测试时,只有一少部分性能计数器数据可用。

  • **视图   **当负载测试运行完成后,可以使用摘要视图详细信息视图

问:除 Web 性能测试外,负载测试是否可以使用测试组合中的其他测试类型?

:可以,你可以包括单元测试和编码的 UI 测试

问:虚拟用户是否可以在测试步骤间模拟暂停?

:可以,你可以指定思考时间以模拟用户在网页上花费的时间。

问:为何应使用基于云的负载测试?

:如果不想设置计算机进行负载测试或没有可用资源,你可以使用基于云的负载测试服务。 它在云中设置将运行负载测试的虚拟机。 请注意,你的网站必须在 Internet 上公开可用,以便使用 Visual Studio Online 进行的负载测试可进行访问。

问:如何在连续交付模型中应用我的 Web 和负载测试?

**答:**请参阅模式和实践书籍:使用 Visual Studio 2012 对连续交付进行测试 - 第 6 章:测试工具箱