使用 Visual Studio 2013 Ultimate 在云中进行负载测试






4.66/5 (12投票s)
使用 Visual Studio 2013 Ultimate 在云中进行负载测试
用最大负载测试您的应用程序,以避免任何意外行为。
引言
在本文中,我将向您介绍使用 Visual Studio 2013 Ultimate 在云端进行负载测试所需的基本配置步骤。
背景
性能是开发 Web 应用程序的首要关注点。用最大用户负载测试应用程序一直是开发人员的挑战。开发服务器可能没有生产服务器的容量。随着云环境中负载测试的引入,应用程序负载测试变得非常容易。
配置云端负载测试
设置 Visual Studio Online 账户
我们可以借助 Visual Studio Online 或 Team Foundation Server 来配置负载测试。在这里,我们将使用 Visual Studio Online 账户配置基于云的负载测试。
首先,我们需要创建一个 Visual Studio Online 账户。
- 使用您的 Microsoft 账户登录 www.visualstudio.com。
- 下一步是创建一个账户。
- 成功创建新账户后,只需浏览该账户(例如:https://yourapp.visualstudio.com),您将看到下面的页面。
- 点击下图所示的“最近项目和团队”中的“新建”以创建一个新的团队项目,我们将把负载测试项目添加到其中。
这样,我们就完成了为执行首次负载测试所需的 Visual Studio Online 账户的创建/设置。
创建 Web 性能测试项目
在创建任何负载测试项目之前,我们首先需要创建一个 Web 性能项目,用于记录/配置我们的测试步骤。
在负载测试中,我们对 Web 测试施加负载。
- 创建 Web 性能和负载测试项目。默认情况下,它会创建一个名为“
WebTest1.webtest
”的文件,我们在其中记录负载测试步骤。 - 点击“添加录制”来录制 Web 测试。Web 浏览器将被打开。
- 确保测试录制插件在浏览器中已启用,并录制网站上的操作。我不会深入介绍测试录制的细节。
- 录制完您想要测试的必要步骤后,只需在浏览器中停止录制,步骤就会添加到性能测试文件(
WebTest1.webtest
)中,如下所示。 - 现在运行测试,我们将获得 Web 性能测试的结果。
- 在这里,我们可以配置许多内容,如数据源、上下文参数、动态参数等。我只解释了最基本的 Web 测试的步骤。
- 在这里,我们可以配置许多内容,如数据源、上下文参数、动态参数等。我只解释了最基本的 Web 测试的步骤。
因此,我们成功创建了需要进行负载测试的 Web 测试。
将负载测试添加到 Web 性能项目
- 将负载测试文件添加到我们添加了
webtest1.webtest
的现有解决方案中。 - 现在点击创建新项目并选择“负载测试”。然后我们可以配置测试设置。
负载模式:在这里我们可以配置“阶梯负载”。我们将初始用户数设置为 10,最大用户数设置为 200。每隔 10 秒,将有 10 个用户访问系统。我们可以根据需要配置阶梯负载。
测试混合模型:它将帮助我们为测试配置不同的工作流程。我保留默认设置。有关测试混合模型的更多详细信息,您可以参考以下 URL。
https://msdn.microsoft.com/en-us/library/dd997826.aspx
测试混合:我们可以使用不同的 Web 性能测试来分配负载。在此演示测试中,我选择“
WebTest1.webtest
”,即我们之前创建的 Web 性能测试。有关更多详细信息,请查看 URL
https://msdn.microsoft.com/en-us/library/ms243157(v=vs.100).aspx
网络混合:我们可以混合使用不同的网络类型进行负载测试。
有关更多详细信息,请参阅 URL
https://msdn.microsoft.com/en-us/library/dd997557(v=vs.100).aspx
浏览器混合:这是用于配置不同浏览器类型的。有关更多详细信息,请查看以下 URL
https://msdn.microsoft.com/en-us/library/dd997561(v=vs.100).aspx
运行设置:对于此演示测试,我将负载测试持续时间设置为 5 分钟。您可以根据需要定义持续时间。
- 点击完成,负载测试文件(
LoadTest1.loadtest
)将添加到我们的项目中,如下所示。 - 接下来,我们需要配置运行测试的位置。您可以在解决方案资源管理器中的“解决方案项”下找到一个名为“
Local.testsettings
”的文件。选择“使用 Visual Studio Online 运行测试”复选框。因此,我们在这里定义我们的测试将在云环境中执行。
- 接下来是将 Visual Studio Online 账户 URL 配置到项目中(我们最初创建的 URL,https://yourapp.visualstudio.com)。
为此,请选择“团队资源管理器”->“选择团队项目”,如下图所示。
- 点击“连接到 Team Foundation Server”弹出窗口中的“选择团队项目”(如下图所示)。
- 点击“连接到 Team Foundation Server”弹出窗口中的“选择团队项目”(如下图所示)。
- 在“添加/删除 Team Foundation Server”弹出窗口中,点击“服务器”。然后点击“添加”。
- 在“添加 Team Foundation Server”弹出窗口中输入 Visual Studio 账户 URL 或 TFS 账户(如果您有),然后点击“确定”。
- 点击“确定”后,可能会要求输入您的 Microsoft 账户凭据。
- 添加 Visual Studio Online URL 后,我们就可以在 Visual Studio Online 门户(
LoadTestInCloud
)中看到我们最初创建的团队项目。因此,选择该团队项目,如下图所示,然后点击连接。 - 现在我们准备运行第一次负载测试了。在
LoadTest1.loadtest
文件中点击“运行负载测试”。 - 负载测试已启动……………………………..
- 但是我们创建的第一次负载测试失败了……………………….. 无论如何,让我们看看出了什么问题。
有一个与请求“https://login.live.com/login.srf...”相关的异常。要分析此异常,我们需要下载报告。因此,点击“下载报告”。但是又出现了一个错误…… 但别担心;错误总是提供一些新信息。
所以,我们首先应该看看下载错误报告时出了什么问题,以了解导致负载测试失败的实际问题。
从上面的错误消息中,可以清楚地看出 SQL 服务器连接存在一些问题。默认情况下,错误会导入到数据库中。因此,我们应该先配置数据库。要创建数据库,我们需要执行一个 SQL 脚本(loadtestresultsrepository.sql),它位于 Microsoft Visual Studio 文件夹内。
在我的情况下,它位于 D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE 目录中。(我使用的是 Visual Studio 2013 Ultimate)。
执行以下命令创建数据库
D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE>SQLCMD /S SQLInstance /i loadtestresultsrepository.sql
您可能需要在此命令中包含您的数据库凭据。因此,数据库已成功创建。如果您检查您的 SQL Server,您会看到一个名为“LoadTest2010
”的数据库。
我们还应该将数据库配置到我们创建的负载测试中。右键单击 LoadTest1
(如下图所示)并点击“管理测试控制器”。您将看到配置数据库的提示。
因此,数据库配置部分已成功完成。接下来,点击测试结果页面上的“下载报告”。它将被导入到我们创建的数据库中。然后点击“查看报告”以查看错误详细信息。
因此,我们清楚地了解到原始抛出的错误是上下文参数“QueryStringParam49.ct
”在测试上下文中未找到。要进行更深入的分析,我们应该检查我们创建的原始 Web 测试(webtest1.webtest
)。
在 Web 测试中,我们可以看到“QueryStringParam49.ct
”位于 https://login.live.com/login.srf 下。负载测试正在等待一个我们未提供的参数。在我们的实际应用程序中,我们应该处理动态参数。动态参数可以从数据库、csv 文件等加载。在我们的例子中,我们可以删除此行以继续前进。因此,删除了“https: //login.live.com/login.srf”这一行,因为它对于演示负载测试来说不是必需的。
接下来,我们可以再次运行负载测试。在初始配置后,如果您需要更改用户负载、阶梯持续时间等,可以通过右键单击“阶梯负载模式”(这可能因您的初始设置而异)并点击“属性”来完成,如下所示。在这里,我将最大用户数从最初配置的 200 更改为 40。
再次运行 LoadTest1
,让我们看看结果。此测试将消耗 250 个虚拟用户分钟。
测试成功完成,没有任何错误,我们可以开始分析应用程序性能。
我们可以看到负载测试结果的图形表示。从下面的图表中,应用程序的性能和吞吐量非常清晰。
摘要
我试图解释使用 Visual Studio 2013 Ultimate 在云端配置负载测试所需的非常基本的配置步骤。我们可以使用 Visual Studio Online 或 Team Foundation Server 来配置负载测试。
历史
- 2015 年 4 月 30 日:初始发布