Проблема, с которой я столкнулся: когда время истекает, тест полностью останавливается и завершаются активные потоки. не заканчивайте изящно. Это связано с тем, что потоки останавливаются после завершения расписания RPS, как указано здесь. Это вызывает следующие исключения:
Код: Выделить всё
[ThreadgroupNameHere-ThreadStarter 1-1] ERROR org.apache.jmeter.functions.Jexl2Function -- An error occurred while evaluating the expression "props.get('lambdaScript5').run(new('us.abstracta.jmeter.javadsl.core.util.PropertyScriptBuilder$PropertyScriptVars',ctx,log))"
Код: Выделить всё
org.apache.commons.jexl2.JexlException$Cancel: org.apache.jmeter.functions.Jexl2Function.execute@94![0,128]: 'props.get('lambdaScript5').run(new ('us.abstracta.jmeter.javadsl.core.util.PropertyScriptBuilder$PropertyScriptVars', ctx, log));' execution cancelled
Код: Выделить всё
Non HTTP response code: java.lang.IllegalArgumentException/Non HTTP response message: Host may not be blank
Мой код:
Мой код:
Код: Выделить всё
private static RpsThreadGroup getRpsThreadgroup(String threadGroupName, int maxThreads, int requestsPerSecond, int rampDurationInSeconds, int holdDurationInMinutes) {
return rpsThreadGroup(threadGroupName)
.maxThreads(maxThreads)
.rampToAndHold(
requestsPerSecond,
Duration.ofSeconds(rampDurationInSeconds),
Duration.ofMinutes(holdDurationInMinutes)
)
.rampTo(
0,
Duration.ofSeconds(5)
);
}
Предположим, я запускаю тест в течение 30 секунд с 1 запросом в секунду, выполняется около 30 потоков, но последние несколько потоков терпят неудачу, потому что они никогда не завершаются должным образом. См. изображение.
Я попытался снизить частоту запросов до 0 в секунду и удерживать ее в течение нескольких секунд. Однако, похоже, это не работает. Я получаю тот же результат (1+ неудачных запросов).
Подробнее здесь: https://stackoverflow.com/questions/780 ... hreadgroup