Visual Studio加载测试请求完成和思考时间

时间:2015-07-09 23:02:34

标签: visual-studio load-testing

我在Visual Studio中使用负载测试来测试我们的web api服务。但令我惊讶的是,我似乎无法测试我想要的东西。实际上我的.webtest文件中有一个网址,并尝试发送相同的网址时间再次查看平均值是多少。响应时间。 以下是详细信息

1.I use constant load of 1 user
2.Test duration of  1 hour
3.Think time of 10 seconds (not the think time between iterations)
4.The avg. response time that I get is 1.5 seconds
5.So the avg. test time comes out to be 11.5 seconds
6.Requests/sec are 0.088
7.And I'm using Sequential Test Order among 4 types of different tests

所以这些数字让我觉得,每当虚拟用户发出请求时,除了指定的思考时间,它会在发送新请求(请求)之前等待请求完成。从技术上讲,总思考时间变为

总思考时间=指定思考时间+平均值。响应时间

但我不希望用户等待已发送的请求返回,然后在指定的思考时间后发送新的请求。我需要以这样的方式配置负载测试:如果思考时间是10秒,那么用户应该在每10秒后发送下一个请求,而不等待第一个请求返回然后再考虑10秒然后发送新请求(因此,如上所述,我的总体思考时间为11.5秒)。无论我在4种不同类型中选择何种类型的测试,Visual Studio总是强制虚拟用户等待请求完成,然后添加指定的思考时间,然后发送新的。

我知道Visual Studio负载测试正在做什么更实际的方法,用户发送请求等待它回来然后思考或与网站交互,然后发送一个新的。

任何帮助或建议都会对我想要实现的目标表示赞赏。

1 个答案:

答案 0 :(得分:0)

在方案的属性中,将“测试混合类型”设置为“基于用户速度的测试组合”,并根据需要设置“每小时每小时测试数”。请参阅here

问题中的建议:

  

总思考时间=指定思考时间+平均值。响应时间

是错误的。在我看来,添加值并不能提供有用的结果。右边的两个值如上所述。思考时间模拟用户花在阅读页面上的时间,决定下一步做什么以及键入/点击/等等他们的回复。响应时间是发送请求和获取响应之间的“转身”时间。添加它们在任何意义上都不会增加思考时间,它只是在此特定测试中处理请求的总持续时间。另一个测试可能会在不同的思考时间内提出相同的请求。请注意,许多网页会导致发出多个请求和响应; JavaScript和其他允许网页做很多聪明的事情。