我有一个终点,我们称之为https://www.ajax.org/api/v1/offers。
该方案是80.000个用户每次将访问此端点一次,并且他们都将在60分钟内发出此请求。
您如何在VSTS负载测试中对此建模?
谢谢!
答案 0 :(得分:1)
创建一个执行请求的“ .webtest”。
一小时内80000个请求的负载约为每分钟1333,即每秒约为22。 (检查:22 * 60 * 60 = 79200和23 * 60 * 60 = 82800,因此22或23大约正确。)如果每个请求平均花费一秒钟,那么将需要23个虚拟用户(VU)来创建总数加载。如果每个请求平均花费两秒钟,则大约需要46个VU。 (检查:(46/2)* 60 * 60 = 82800和(45/2)* 60 * 60 =81000。所以仍然正确。)即使只有一个测试必须指定测试组合,所以请使用“测试根据开始的测试数量进行混合”。
一旦知道有负载时的平均请求时间,就可以按照上面的样式使用其值来设置所需的VU数量。
另一种方法是从上述总和开始,以找到最小数量的VU,但使用“基于用户速度的测试组合”。假设我们指定100个VU(通常被认为是中等负载)。然后,我们需要每个VU每小时处理80000/100 = 800个Web测试,我们只需在“测试混合”窗口中指定800个即可。 -考虑一下,这可能是更好的方法,但是我认为上面的分析很有用。
要模拟80000个不同用户,请确保方案属性中的“新用户百分比”为100。
如果要在运行中准确地请求80000个请求,则将其指定为“运行设置”中的“迭代次数”,并将“使用测试迭代”设置为“ true”。如果您想要大约80000,那么我建议将“使用测试迭代”设置为“假”,并设置“运行持续时间”为一小时。