Контроль количества сэмплов в bzm - параллельная группа потоков - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь выяснить пропускную способность конечной точки, используя Apache Jmeter в качестве инструмента тестирования.
Мне нужно попасть в конечную точку на n threads(users) per second, и каждый поток должен запускать ровно один запрос (образец).
Для вышеизложенного я настроил bzm - параллельная группа потоков .

Конфигурация первая:

Target Concurrency: 100 Ramp Up Time(sec): 1 Ramp-up Steps Count: 1 Hold Target Rate Time(sec): 10

Конфигурация Два:

Target Concurrency: 1000 Ramp Up Time(sec): 5 Ramp-up Steps Count: 5 Hold Target Rate Time(sec): 60

То, что я ожидаю, это
а. Конфигурация первая: только 1000 запросов должны быть запущены в течение 10 секунд б. Конфигурация вторая: 60000 запросов должны быть выполнены за 60 секунд, т.е. 1000 / сек.

1 Ответ

1 голос
/ 25 апреля 2019

В соответствии с вашими тестовыми примерами и продолжительностью теста настройками, я думаю, вы путаете с потоками и запросами.

потоков являются виртуальными пользователями.Потоки и запросы не совпадают.

Увеличение - это время, в которое все пользователи прибывают на ваш протестированный сервер приложений.

Запросы моделируются сэмплерами , но потоков являются моделированием пользователей .

Пожалуйстаnote- Общее количество запросов связано с пропускной способностью , тогда как количество активных потоков, выполняющих ту же самую деятельность, связано с одновременностью .

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

Таймер постоянной пропускной способности позволяет поддерживать пропускную способность вашего сервера (запросы /сек).Таймер постоянной пропускной способности способен только приостанавливать потоки JMeter, чтобы замедлять их и достигать целевой пропускной способности.Кроме того, он работает только на минутном уровне, поэтому вам нужно правильно рассчитать период разгона и позволить вашему тесту работать достаточно долго.

Вот обходные пути:

  1. Рассчитайтеколичество потоков, необходимых для достижения вашей целевой производительности.Формула:

    RPS * максимальное время отклика в секунду

  2. Используйте периоды разгона, чтобы потоки активировали соответственно.
  3. Сделайте циклзначение счетчика: Forever
  4. Установите соответствующую продолжительность теста.

Поскольку таймер постоянной пропускной способности работает на минутном уровне, для достижения X RPS вам необходимо настроить свой " Целевая пропускная способность"значение до X*60/min и" Расчет пропускной способности на основе"значения как" Все активные потоки".

Например, есливам нужно 1000 RPS, тогда значение " Target Throughput " должно быть 60000/min в Таймер постоянной пропускной способности .

Ознакомьтесь с моими ответами на эти темы, чтобы понять ваш сценарийболее кратко.

  1. Как мне рассчитать время разгона в Jmeter

  2. Борьба за поддержание запросовв секунду (RPS)?

Надеюсь, это поможет!

...