VSTS 负载测试:随着时间的推移,许多用户的单个请求

VSTS Load Test: single request by many users over time

我有一个终点,我们称它为https://www.ajax.org/api/v1/offers

场景是80000个用户每次访问这个端点一次,他们都会在60分钟内发出这个请求。

您如何在 VSTS 负载测试中对此建模?

提前致谢!

创建一个执行请求的“.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。所以仍然正确。)即使只有一个测试必须指定测试组合,所以使用 "Test mix based on number of tests started".

一旦知道负载下的平均请求时间,就可以在上面的样式中使用它的值来设置所需的 VU 数量。

另一种方法从上述总和开始,以找到 VU 的最小数量,但使用 "Test mix based on user pace"。假设我们指定 100 个 VU(通常被认为是适度负载)。然后我们需要每个 VU 每小时处理 80000/100 = 800 个网络测试,我们只需在测试组合中指定 800 window。 -- 仔细想想,这可能是更好的方法,但我认为上面的分析很有用。

要模拟 80000 不同 用户确保场景属性中的 "Percentage of new users" 为 100。

如果您想要 运行 中正好有 80000 个请求,则将其指定为 "Run settings" 中的 "Number of iterations",并将 "Use test iterations" 设置为 "true"。如果你想要大约 80000,那么我建议将 "Use test iterations" 设置为 "false" 并给出一小时的 "Run duration"。