Visual Studio负载测试。有没有办法指定您希望测试运行一分钟的次数和分钟数?

时间:2016-10-11 14:36:25

标签: visual-studio-2015 load-testing

我正在尝试在工作中进行一些负载测试,他们希望我使用Visual Studio的负载测试。要求的测试是每分钟进行100次登录,持续30分钟。

我可以看到一种设置1分钟持续时间测试的方法,我可以让100个虚拟用户登录。我还可以设置100个虚拟用户的测试,以便登录并运行30次。

所以我的问题是:有没有办法同时满足这两个要求?

1 个答案:

答案 0 :(得分:1)

在真正回答这个问题之前,您需要提出一些其他问题,例如:

  • 用户登录后会做些什么?
  • 我们可以进行登录吗?被测系统(SUT)是否会有数百(或几千)用户登录但未注销?

创建了一个可能包含思考时间的测试脚本,计算出在低负载下平均需要多长时间;让这是T秒。计算一个虚拟用户(VU)在30分钟内可以执行多少次测试,即30*60/T

测试规范"每分钟进行100次登录,持续30分钟" 。这意味着总共需要100*30次登录。我们知道一个VU可以执行多少次登录,因此将两个数字分开以计算出需要多少个VU。值为(100*30)/(30*60/T)。重新排列和简化会给出T*5/3

实施例。假设测试需要45秒,所以T == 45。因此,我们需要45*5/3 == 75个VU。如果我们使用恒定负载模式,这将在前几分钟内给出150次登录,但在第二分钟只有75次登录,第三次分钟将有大约150次,第四次大约为45次,依此类推。总平均值为每分钟100次,思考时间和执行时间的正常变化意味着负载随时间推移而扩散。最好使用计算出的阶梯载荷模式,从第一分钟开始进行100次测试。给定(假定的)45秒文本执行时间,如果75个VU在45秒内启动,那么这些VU中的25个将在第一分钟内完成测试并且可以开始另一个测试,从而在第一个开始时进行75 + 25个测试分钟。因此,45秒内的75个VU与15个中的25个VU相同,与3个中的5个VU相同。因此,我们可以使用从5个VU开始的阶梯式负载模式,每3秒增加5个VU,最多75个VU。

实施例。假设测试需要6秒,所以T == 6。因此,我们需要6*5/3 == 10个VU。如果我们使用恒定负载模式,这将在每分钟内提供大约100次登录,但至少在最初,10个用户将处于同步状态,直到思考时间和执行时间的正常变化意味着负载随时间推移而展开。同样,使用阶梯式负载模式可能更好。我能看到的最简单的是从1 VU开始,每(1)秒增加1 VU到最多10 VU。