Jmeter - Как работает флажок «На пользователя» в разделе «Контроллер пропускной способности»?

Мне нужно разделить нагрузку на мое приложение некоторыми процентами, например, модуль входа в систему - 60%, учетные записи - 10%, другие модули - 30%. После нескольких исследований я нахожу в jmeter в разделе Контроллер пропускной способности вариант, с помощью которого я могу контролировать эти проценты. Я нахожу там один флажок с названием «на пользователя». Теперь я не получаю этот флажок.

В соответствии с блогом blazemeter здесь я попробовал один сценарий, как показано ниже, с флажком "На пользователя", установленным.

  • В раскрывающемся списке выберите «Общее выполнение».
  • Пропускная способность помечена как 40.
  • Используемые нити - 10, количество петель 1

Теперь, согласно блогу, определенные транзакции должны выполняться 400 раз. но для этой транзакции было нулевое исполнение.

Я попробовал другой сценарий с установленным флажком "На пользователя".

  • В раскрывающемся списке выберите «Общее выполнение».
  • Пропускная способность помечена как 60.
  • Используемые нити - 10, количество петель 1

Теперь, согласно блогу, определенные транзакции должны выполняться 600 раз. но выполнено 10 раз.

Могут ли какие-нибудь эксперты рассказать, что я здесь делаю не так? Или нужно немного пояснить, как работает этот флажок.


person Keshav    schedule 22.12.2016    source источник
comment
Вы включаете семплеры, которые хотите отправить в Контроллер пропускной способности? Этот элемент управляет поведением своих дочерних элементов. Возможно, вы можете добавить экран со своим сценарием Jmeter, чтобы лучше понять, чего вы пытаетесь достичь.   -  person Michal    schedule 22.12.2016
comment
Да, внутри есть один пробоотборник. это всего лишь один, потому что перед тем, как реализовать его, я хотел понять его.   -  person Keshav    schedule 22.12.2016


Ответы (1)


Чтобы понять контроллер пропускной способности (TC), просто добавьте один TC и один сэмплер. (внутри TC) и Aggregate Report в комбинации. затем поиграйте со всеми параметрами в Throughput Controller.

Из официальной документации:

Всего выполнений: заставляет контроллер прекращать выполнение после определенного количества выполнений.

а также

На пользователя: если этот флажок установлен, контроллер будет определять, следует ли выполнять его для каждого пользователя (для каждого потока). Если этот флажок не установлен, расчет будет глобальным для всех пользователей. Например, если вы используете режим общего выполнения и снимите флажок «на пользователя», то число, указанное для пропускной способности, будет общим количеством выполненных выполнений. Если установлен флажок «на пользователя», то общее количество выполнений будет равно количеству пользователей, умноженному на число, указанное для пропускной способности.

Внимательно прочтите оба утверждения несколько раз.

В обоих указанных сценариях максимальное количество выполнений равно 10. (Число потоков * Число циклов). Хотя вы указали Total Executions как 40 или 60, во-первых, вы должны предоставить более 60, чтобы увидеть, как выполняются все эти 40/60 итераций. Поэтому всегда указывайте больше итераций (используя количество потоков и количество циклов), чем общее количество выполнений.

You have to consider Percentage Executions instead of Total Executions to match your requirements. Опять же, я предлагаю смоделировать для одного образца и понять поведение, варьируя процентное соотношение.


Ниже приведены некоторые сценарии и ожидаемое поведение (EB).

Сценарий: 1

Группа потоков - 10, количество циклов - 1, пропускная способность - 40 (всего выполнения), на пользователя - проверено.

EB: Пробоотборник будет запускаться только 10 раз.

Сценарий: 2

Группа потоков - 40, количество циклов - 1, пропускная способность - 40 (всего выполнения), на пользователя - проверено.

ЭБ: ​​Сэмплер будет запускаться только 40 раз.

Сценарий: 3

Группа потоков - 40, количество циклов - 1, пропускная способность - 40 (всего выполнения), на пользователя - не отмечено.

ЭБ: ​​Сэмплер будет запускаться только 40 раз.

Сценарий: 4

Группа потоков - 100, количество циклов - 1, пропускная способность - 40 (всего выполнения), на пользователя - проверено.

ЭБ: ​​Сэмплер будет запускаться только 100 раз. подсчитал, выполнил ли каждый пользователь 40 раз. Поскольку предел не достигнут, выполняется все 100 итераций.

Сценарий: 5

Группа потоков - 100, количество циклов - 1, пропускная способность - 40 (всего выполнения), на пользователя - не отмечено.

ЭБ: ​​Сэмплер будет запускаться только 40 раз. рассчитывается на глобальном уровне. Поскольку сэмплер достиг 40 раз для всех потоков, прекращает его выполнение.

Сценарий: 6

Группа потоков - 100, количество циклов - 40, пропускная способность - 40 (всего выполнения), на пользователя - проверено.

EB: Sampler будет запускаться 400 раз (каждый пользователь -> 40 раз, 100 * 40). подсчитал, выполнил ли каждый пользователь 40 раз. Здесь даже достигается предел для каждого пользователя и больше не выполняется выполнение после 40.

Сценарий: 7

Группа потоков - 100, количество циклов - 1, пропускная способность - 40 (всего выполнения), на пользователя - не отмечено.

ЭБ: ​​Сэмплер будет запускаться только 40 раз. рассчитывается на глобальном уровне. Поскольку сэмплер достиг 40 раз для всех потоков, прекращает его выполнение.

person Naveen Kumar R B    schedule 22.12.2016