Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Visual Studio负载测试请求完成和思考时间_Visual Studio_Load Testing - Fatal编程技术网

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

Visual studio Visual Studio负载测试请求完成和思考时间,visual-studio,load-testing,Visual Studio,Load Testing,我在VisualStudio中使用负载测试来测试我们的web api服务。但令我惊讶的是,我似乎无法测试我想要的东西。实际上,我在我的.webtest文件中有一个url,并尝试一次又一次地发送相同的url,以查看平均响应时间。 详情如下 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

我在VisualStudio中使用负载测试来测试我们的web api服务。但令我惊讶的是,我似乎无法测试我想要的东西。实际上,我在我的.webtest文件中有一个url,并尝试一次又一次地发送相同的url,以查看平均响应时间。 详情如下

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种不同类型的测试中选择哪种类型,VisualStudio总是强制虚拟用户等待请求完成,然后添加指定的思考时间,然后发送新的思考时间

我知道VisualStudio负载测试所做的更多的是一种实用的方法,用户发送请求,等待请求返回,然后思考或与网站交互,然后发送一个新的请求


对于我试图实现的目标,任何帮助或建议都将不胜感激。

在场景的属性中,将“测试混合类型”设置为“基于用户速度的测试混合”,并根据需要设置“每用户每小时测试”。看

问题中的建议是:

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


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

我知道你的意思,但当我说总思考时间=指定思考时间+平均响应时间时,我的字面意思并不是说有任何实体称为总思考时间,因为这只是我的感知方式,即用户花在交互/阅读/点击(网页)上的时间加上响应的往返时间,VisualStudio代表虚拟用户发出新请求。更重要的是,当我为4个虚拟用户的恒定负载尝试“基于用户速度的测试组合”时,VisualStudio正在做什么,它计算4 x(思考时间+平均响应时间)时间。在计算出的时间之后,its开始下一次迭代以进行后续加载,即,它发送来自所有4个用户的请求,并等待所有4个用户返回响应,然后再次迭代。如我所述,每个用户每小时应进行2000次测试,但visual studio在计算了上述注释4x(思考时间+平均响应时间)中提到的“数字”后表示,当平均测试时间为4.57秒时,每个用户每小时2000次测试太多。这4.57秒,除了这个值4x(思考时间+平均响应时间),在这个测试中,思考时间是0。换句话说,VisualStudio不允许我每小时对每个用户进行2000次测试,而是让我自己控制测试,并看到每次迭代4个固定用户的单个负载将花费4.57秒(发送请求和获取所有4个用户的响应所花费的时间)对于单个负载,然后开始为新负载发出新请求,这不允许我实现每个用户每小时2000次测试的目标。@user2913184请编辑您的原始问题以解释您想要做什么。你已经解释了你所做的和发生的一些事情,但是你没有说出你想要的。也请阅读我不确定我是否应该编辑我的问题,但这是我在做了两种测试的实验后想要的。顺序测试和用户速度。就用户速度测试而言,我希望如果我将4个用户的恒定负载和每个用户每小时2000个测试放在一起,VisualStudio不会等待所有4个用户在给定的负载测试迭代中返回响应,然后在随后的负载测试迭代中为所有4个用户提供一组新请求。我希望无论什么样的VisualStudio都能同时提供4个请求,而不必等待回复。您的问题得到了回答吗?如果是,请阅读。如果没有回答,请解释还需要什么。