负载测试结果指示测试运行期间实现的每分钟事务数与设置的 Transaction Goal 不匹配的原因有多种:

  • 达到最大并发虚拟用户数限制

当由于上述因素而无法将用户负载增加到必要的水平时,系统可能会达到其预定义的最大并发用户数限制。当达到限制时,它无法模拟额外的负载,这会阻止实现每分钟所需的事务数。

  • 测试提前终止

负载测试可能会根据指定的负载测试持续时间得出结论,然后再收集每分钟动态重新计算 Transaction Goal 所需的响应数。这种过早终止可能导致测试结果不准确或不完整。

  • 响应时间随用户负载成比例增加

如果平均响应持续时间与用户负载成比例增加,则无论您增加多少负载注入器数量或最大并发用户数限制,实现所需的每分钟事务目标都将变得具有挑战性。在这种情况下,简单地添加更多用户不会导致更多的事务。

例如:

在下面的两种情况下,尽管用户数量增加,但由于响应时间成比例增加,每分钟的事务数保持不变。

每分钟事务数 = 10 个用户 / 5 秒 = 2
每分钟事务数 = 20 个用户 / 10 秒 = 2

建议

两个主要因素可能导致上述问题,并导致每分钟实现的事务数不足:

无需校准,导致负载喷油器过载

如果在测试之前未执行 校准 ,则负载喷油器(模拟用户负载的服务器)可能会达到 100% 的 CPU 利用率。这种过载会阻止喷油器产生所需的用户负载。确保在运行负载测试之前始终校准 Load Injector Payload。

增加平均响应持续时间

未达到 Transaction Goal 的一个常见原因是服务器在负载下的平均响应时间 (Avg. Response Duration) 增加。随着用户负载的增加,服务器可能需要更长的时间来处理每个请求,从而导致更长的响应时间和每分钟的事务数减少。

如果您不确定服务器性能在负载下将如何变化,我们建议使用 Dynamic Adjustable Load Curve 运行简短的负载测试。手动将用户负载增加到所需的值将帮助您预测服务器响应时间的波动,并正确配置基于目标的曲线参数。