使用Visual Studio Team Services进行压力和性能测试(一)——创建基础的URL压力测试
概述
压力测试使应用程序更加健壮,并审核在用户负载下的行为,这样我们可以在当前的基础设施上采取行动,为其扩容以满足我们的需求。
Visual Studio中的压力测试是由虚拟用户分钟计费的,更多信息详见这里。
前置条件
要完成这个实验室需要:
- Visual Studio Team Services 账户.如果没有,需要创建一个。
- Visual Studio 2017 或更高版本
- 可以使用Visual Studio team Services Demo Data generator Visual Studio team Services帐户提供预先定义的项目数据。在本动手实验请使用My Health Clinic模板。
如果没有使用VSTS Demo Data Generator,可以从GitHub仓库中复制代码。
1.登录Visual Studio Team Services帐户并单击Load Test
2.在URL面板上点击Create test
3.命名该DevOps Tests测试
4.在当前屏幕上,输入需要从应用程序测试的URL。在开始使用Azure Resource Group之前,先获取Web App Service的URI
5.让我们从应用程序的主页开始:
在这里,还可以指定HTTP Method调用如何使用,以及其他参数,如Querystring参数
6.可以通过Add URL按钮添加其他 URLs
通过对不同URL的多个调用,可以创建压力测试,Visual Studio Team Services Load Testing(压力测试)将按照所引入的顺序依次执行所有的模拟用户操作。
7.点击Settings,现在我们将为压力测试设置持续时间、负载模式和其他设置。
8.在持续时间设置项,将默认值设置为2分钟。
当修改该值时,请记住压力测试是通过Virtual User Minutes(虚拟用户分钟)来定价的。
9.关于压力模式有两个选项。我们将选择25个用户的Constant (常量)
Constant(常量)将在整个压力测试期间模拟相应数量的虚拟用户,此值通过Max v-users字段设定。
Step 负载模式将以一个设定的用户数量开始,并在每个设定的时间段内增加设定的数量。在本例中,从10个用户开始,每10秒钟增加5个用户。
持续到Constant负载25个用户
10.Warm up duration是测试开始和数据样本开始记录之间的时间。通常用于在记录采样值之前,将虚拟用户分步加载到一定的负载级别。在预热期结束前捕获的样本值显示在结果中。在这种情况下,保持0秒。
11.由于应用程序有时呈现不同的内容或浏览器用户代理的不同行为。Browser mix允许我们模拟不同种类的浏览器百分比。注意,这只会影响发送给应用程序的User-agent头,因为压力测试只测试HTTP调用,因此它不会渲染不同的HTML或解释HTML响应。如果应用程序的行为与服务器端的视图不同,只需要使用它。
12.Load location允许我们选择不同的Azure位置,在这种情况下,我们需要测试来自不同区域的应用程序。在本例中选择最接近应用程序的区域。
13.点击Save
现在我们已经创建了一个完整的Load Test (压力测试)。