Показаны сообщения с ярлыком Thread Group. Показать все сообщения
Показаны сообщения с ярлыком Thread Group. Показать все сообщения

понедельник, 14 мая 2012 г.

JMeter-Plugins. Часть 2: Stepping Thread Group

Stepping Thread Group - еще один кастомный Thread Group от JMeter-Plugins. Он не имеет бесконечного количества планировщиков, как Ultimate Thread Group, но имеет более гибкий алгоритм планирования в отличие от стандартного Thread Group.

Для Stepping Thread Group мы можем указать следующее:

  • количество пользователей;
  • задержку перед стартом;
  • активирование определенного количества в пользователей с заданным интервалом;
  • время работы после активирования всех пользователей;
  • завершение работы определенного количества в пользователей с заданным интервалом.
И аналогично Ultimate Thread Group нам отображается превью графика нашей нагрузки.


пятница, 4 мая 2012 г.

JMeter-Plugins. Часть 1: Ultimate Thread Group

Допустим, вам для тестирования производительности нужно сэмулировать реальную работу той или иной системы. При этом вам необходимо учесть время старта работы пользователей, скорость их наплыва, пики работы в течение дня, перерывы, окончание работы пользоватей. Силами стандартных Thread Group это реализовать достаточно сложно. Но с такой задачей мы легко можем справиться при помощи Ultimate Thread Group, которая входит в состав JMeter-Plugins.

В стандартном Thread Group мы можем указать только количество пользователей, время разгона и количество повторов. Так же есть один планировщик запуска.

Что мы имеем в Ultimate Thread Group. Неограниченое количество планировщиков запуска для каждого из которых мы можем указать:

  • количество пользователей;
  • задержку перед запуском группы пользователей;
  • время разгона;
  • время задержки на пике;
  • время завершенния работы группы пользователей.
И в дополнении ко всему этому нам отображается превью графика нашей нагрузки.


среда, 18 апреля 2012 г.

Рандомные значения. Часть 1

Есть несколько вариантов генерации случаных значений. Самый просто способ - это использовать встроенные функции JMeter __Random и __RandomString. Первая функция генерирует рандомное значение в указанном диапазоне с в возможностью указания имени переменной для дальнейшего использования сгенерированного значения (${__Random(1,100,myRandom)}). Вторая функция генерирует рандомную строку указанной длины с использованием указанных символов также с возможностью указания имени(${__RandomString(5,abcdefghijk12345,myRandom)}).

В JMeter есть встроенная утилита для генерирования подобных функций (Option->Function Helper Dialog), в которой необходимо выбрать нужный тип, ввести входные значения и нажать кнопку [Generate].



Но у этих функий есть один минус. Если мы в User Defined Variables объявим переменную и в качестве значения укажем __Random или __RandomString, то это рандомное значение сгенерится один раз на весь тест план и для всех пользователей. То есть если  мы запускаем Thread Group для 10 юзеров и каждый обращается к рандомной переменной, то все они получат одно и то же значение. Поэтому для этих целей лучше использовать Random Variable (Add->Config Element->Random Variable).


Добавляем Random Variable и указываем в нем следующие параметры:
  • имя переменной для дальнейшего обращения (Variable Name)
  • формат (Output Format) (значение формата может состоять только из нулей, указывающих разрядность, или же с содержанием символов как перед нулями так и после)
  • минимальное значение (Minimum Value)
  • максимальное значение (Maximum Value)
  • основу для генерации рандомных значений, которой по умолчанию является текущее время в миллисекундах ( Seed for Rundom function)
Параметр "Per Thread (User)": если значение параметра False, то генератор общий для всех Thread Group, если значение True, то генератор свой для каждого пользователя.

И так мы имеем следующую картину:



Теперь при использовании нашей переменной myRandom мы всегда будем получать новое значение.