我已经创建了WebTest文件,现在使用WebTest文件添加了新的负载测试。WebTest文件包含我的会话的api快照,它执行多个REST应用程序,包括Post、Get等。
我正在使用Visual中的负载测试向导创建负载测试,其中要求我选择测试混合模型,如屏幕截图所示:
以下是负载测试场景的测试组合模型选项:
我提到了官方的文档,但我仍然无法理解使用哪种模型混合,以及每种混合创建的差异和性能影响是什么?
发布于 2018-09-06 19:06:41
因为你只有一个网络测试,那么我建议根据测试数量使用测试组合。但是实际上,除了用户的速度之外,任何组合都应该是合适的。
四个测试混合体的行为如下所述。我建议仔细阅读问题中截图中显示的单词,以及其他混合词的相关单词。这些单词上面的图表旨在说明混合是如何工作的。
由于只有一个web测试,“顺序顺序”组合是没有用的。只有当您有多个测试(例如A
、B
和C
),并且每个虚拟用户(VU)需要按照这个顺序(即A B C A B C A B C ... A B C
)重复运行它们时,才会使用它。
当您希望web测试以固定的速度运行(每小时N
次数)以将稳定的负载应用到被测试的系统时,就会使用“用户速度”组合。假设测试D
大约需要40秒才能执行,并且速度设置为每小时30个测试。然后,我们期望系统为每个VU启动每2分钟一次的测试(因此在执行之间有大约100秒的空闲时间)。假设现在也有测试E
,它大约需要15秒才能执行,并且它的速度被设置为每小时90次。然后,每个VU应该另外每40秒运行测试E
。因此,现在每个VU都以这样的速度运行测试D
和E
。测试D
需要每小时30 * 40秒,测试E
需要90 *15秒,因此30*40+90*15 = 2550秒用于每个小时。因此,每个VU都有足够的时间来运行这两个测试。如果测试需要更长的时间或者需要更快的速度,那么每小时可能需要超过3600秒。这是不可能的,我希望在测试运行时看到一个错误或警告信息。
当您希望尽快运行web测试时(在指定的VUs数量内并允许思考时间),将使用其他两个测试混合。区别在于如何选择要运行的web测试。当只有一个网络测试,那么这两个混合有相同的效果。对于多个web测试,一个组合试图使所执行的web测试的数量与混合中指定的比率(百分比)匹配。另一个组合试图使运行每个测试的数字与比率匹配。
假设我们进行了测试:A
为40%,B
为30%,C
为20%,D
为10%。使用基于测试总数的测试组合,我们期望每个测试执行的数量接近规定的百分比。假设我们有20个VUs和一个基于用户数的测试组合,那么我们期望8个VUs运行测试A
,6个VUs运行测试B
,4个VUs运行测试C
,2个VUs运行测试D
。
https://stackoverflow.com/questions/52161080
复制相似问题