Abstracta JMeter Java DSL — изящно завершайте потоки с помощью RPSThreadGroupJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Abstracta JMeter Java DSL — изящно завершайте потоки с помощью RPSThreadGroup

Сообщение Гость »

Я хотел бы запустить тестовый пример в течение x времени с количеством запросов y в секунду. Для этого я использую RPSThreadGroup (запросы в секунду ThreadGroup).
Проблема, с которой я столкнулся: когда время истекает, тест полностью останавливается и завершаются активные потоки. не заканчивайте изящно. Это связано с тем, что потоки останавливаются после завершения расписания 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)
);
}
ПРИМЕЧАНИЕ. Фактические HttpSamplers добавляются в группу потоков на разных этапах моего кода. getRpsThreadgroup() предназначен исключительно для создания группы потоков и ее настройки.
Предположим, я запускаю тест в течение 30 секунд с 1 запросом в секунду, выполняется около 30 потоков, но последние несколько потоков терпят неудачу, потому что они никогда не завершаются должным образом. См. изображение.
Я попытался снизить частоту запросов до 0 в секунду и удерживать ее в течение нескольких секунд. Однако, похоже, это не работает. Я получаю тот же результат (1+ неудачных запросов).

Подробнее здесь: https://stackoverflow.com/questions/780 ... hreadgroup
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»