Jmeter - взвешенные случайные значения? - PullRequest
4 голосов
/ 30 марта 2011

Как я могу запустить тесты / контроллеры на основе случайного веса?Например, проведите два теста, один с весом 25%, другой с 50%.Тот, у кого 50, должен запускаться в два раза чаще.

Возможно, контроллер пропускной способности как-то смешан со случайным?

Ответы [ 4 ]

5 голосов
/ 14 ноября 2011

Я думаю, что вы можете использовать контроллеры пропускной способности, настроенные как-то так:

Throughput Controller

Значения пропускной способности предварительно устанавливаются либо из свойств конфигурации, либо генерируются в приемлемом диапазоне значений (в данном случае 0..100).

1 голос
/ 17 декабря 2012

Для некоторых простых взвешиваний вы можете использовать тот факт, что контроллер коммутатора по умолчанию выбирает первого ребенка в ваших интересах.Например, 50% 25% 25%, как это

Switch Controller - ${__Random(0,3)}
 - Child 0 (and 3)
 - Child 1
 - Child 2

Вы сделаете еще один шаг, сгруппировавЗадачи в случайных и простых контроллерах как у детей.

0 голосов
/ 13 июня 2013

Я достиг этого, создав контроллер контроллера со следующим значением переключателя:

${__javaScript( var s="001"; new Number(s.charAt( Math.floor(Math.random()*s.length) )) )}

JavaScript выбирает случайный символ из строки s и преобразует его в число. Таким образом, в приведенном выше примере 0 будет выбрано в два раза чаще, чем 1, а веса можно изменить, добавив / удалив символы из строки.

Я использовал String, а не Array, потому что версия javascript, используемая моей версией JMeter, не поддерживала литералы массива, поэтому это сделало его немного менее многословным.

0 голосов
/ 30 марта 2011

Для этого случая лучше использовать 2 группы потоков. Установите первый, чтобы генерировать больше запросов, чем второй.

PS. Вы можете использовать Таймер формирования пропускной способности для контроля скорости в каждой группе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...