REST Api Visual Studio 中的负载测试 select 的哪个测试组合模型选项?

Which test mix model option to select for REST Api Load Testing in Visual Studio?

我已经创建了 WebTest 文件,现在使用 WebTest 文件添加新的负载测试。 WebTest 文件包含我的会话的 api 快照,该快照执行多个 REST API,包括 Post、Get 等。Web 性能测试成功通过。

我正在 Visual Studio 中使用负载测试向导创建负载测试,我被要求选择测试混合模型,如屏幕截图所示:

您的负载测试场景有以下测试组合模型选项:

  1. 根据测试总数

  2. 基于虚拟用户数

  3. 基于用户步调

  4. 按顺序排列

我参考了官方 documentation 但我仍然无法理解使用哪种模型组合以及每种组合产生的差异和性能影响是什么?

由于您只有一个网络测试,因此我建议使用基于测试数量的测试组合。但实际上除了用户节奏之外的任何组合都应该是合适的。

四种测试混音的行为如下所述。我建议仔细阅读问题截图中显示的单词,以及其他混音的相关单词。这些词上方的图表旨在说明混合的工作原理。


由于只有一个网络测试,"sequential order" 组合没有用。它仅在您有多个测试时使用(例如,ABC)并且它们需要按该顺序重复 运行(即 A B C A B C A B C ... A B C) 每个虚拟用户 (VU)。

当您希望 Web 测试以 运行 固定速率(每小时 N 次)向系统施加稳定负载时,可以使用 "user pace" 组合测试。假设测试 D 执行大约需要 40 秒,速度设置为每小时 30 次测试。然后我们期望系统启动,对于每个 VU,每 2 分钟测试一次(因此在执行之间有大约 100 秒的空闲时间)。假设现在还有一个测试 E 需要大约 15 秒来执行并且它的速度设置为每小时 90。然后每个 VU 应该每 40 秒额外 运行 测试 E。所以现在每个 VU 运行s 都以这些速率测试 DE。测试 D 需要每个 VU 时间每小时 30 * 40 秒,测试 E 需要 90 * 15 秒,因此我们每小时使用 30*40+90*15 = 2550 秒。所以每个 VU 都有足够的时间来 运行 这两个测试。如果测试需要更长的时间或需要更快的速度,那么每小时可能需要超过 3600 秒。这是不可能的,我希望在测试 运行s.

时看到有关它的错误或警告消息

当您想要尽快 运行 网络测试时使用其他两个测试组合(在指定的 VU 数量内并考虑思考时间)。区别在于如何选择 Web 测试 运行。当只有一个 Web 测试时,这两种混合具有相同的效果。对于多个 Web 测试,一种混合​​会尝试使执行的 Web 测试数量与混合中指定的比率(百分比)相匹配。另一种混合尝试使每个测试的 VU 数 运行 与比率匹配。

假设我们有测试:A 40%,B 30%,C 20% 和 D 10%。对于基于测试总数的测试组合,我们希望执行的每个测试的数量接近规定的百分比。假设我们有 20 个 VU 和一个基于用户数量的测试组合,那么我们期望 8 个 VU 来 运行 测试 A,6 个 VU 来 运行 测试 B,4 个 VU 运行 测试 C 和 2 个 VU 运行 测试 D.