Перейти к содержимому

Фотография

Jmeter - генерация нагрузки


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 beast4

beast4

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:А.Ф.

Отправлено 02 августа 2013 - 06:55

Есть ли у кого опыт генерации постоянной нагрузки для jmeter?
Хочу создать постоянную нагрузку в течение 10 минут.
(например, чтобы 10 запросов в секунду, всего 6000 за 10 минут)
Пробую использовать Ultimate Thread Group и Constant Throuhput Timer - заданный rate не держится.

При использовании обычного Thread Group - все запросы пуляются быстро и неравномерно, чем указанной время разгона (в моем случае оно равно времени теста )

Можно ли отрегулировать rate на постоянную величину?
  • 0

#2 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 02 августа 2013 - 08:35

Есть ли у кого опыт генерации постоянной нагрузки для jmeter?
Хочу создать постоянную нагрузку в течение 10 минут.
(например, чтобы 10 запросов в секунду, всего 6000 за 10 минут)
Пробую использовать Ultimate Thread Group и Constant Throuhput Timer - заданный rate не держится.

При использовании обычного Thread Group - все запросы пуляются быстро и неравномерно, чем указанной время разгона (в моем случае оно равно времени теста )

Можно ли отрегулировать rate на постоянную величину?


Используйте thread group. В ней укажите duration=600 секунд, Loop Count - forever, нужное вам количество тредов, и по-желанию рамп-ап период.
Для подачи постоянной нагрузки с определенной скоростью используйте элемент тест плана Constant throughput timer, добавьте его в тред группу.
  • 0

#3 schizophrenia

schizophrenia

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Mikhail Epikhin
  • Город:Moscow

Отправлено 02 августа 2013 - 09:56


Есть ли у кого опыт генерации постоянной нагрузки для jmeter?
Хочу создать постоянную нагрузку в течение 10 минут.
(например, чтобы 10 запросов в секунду, всего 6000 за 10 минут)
Пробую использовать Ultimate Thread Group и Constant Throuhput Timer - заданный rate не держится.

При использовании обычного Thread Group - все запросы пуляются быстро и неравномерно, чем указанной время разгона (в моем случае оно равно времени теста )

Можно ли отрегулировать rate на постоянную величину?


Используйте thread group. В ней укажите duration=600 секунд, Loop Count - forever, нужное вам количество тредов, и по-желанию рамп-ап период.
Для подачи постоянной нагрузки с определенной скоростью используйте элемент тест плана Constant throughput timer, добавьте его в тред группу.


Я не советую пользоваться Constant throughput timer, он себя очень плохо ведет на поддержании определенного рейта нагрузки. И я советую пользоваться Throughput Shaping Timer из jmeter-plugins. Такой таймер можно включить в любую Thread Group. Кстати на страничке с описанием этого таймера есть простое правило, как расчитать минимальное кол-во потоков, которое необходимо для стабильной подачи нагрузки.

threads = rps * max_response_time_in_ms / 1000
  • 0

July 2015 — Present / Service Reliability Engineer at Yandex 

Sep 2012 — July 2015 / Performance Test Engineer at Yandex 
Feb 2012 — Aug 2012 / Performance Test Engineer at Performance Lab 


#4 beast4

beast4

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:А.Ф.

Отправлено 02 августа 2013 - 10:49



Есть ли у кого опыт генерации постоянной нагрузки для jmeter?
Хочу создать постоянную нагрузку в течение 10 минут.
(например, чтобы 10 запросов в секунду, всего 6000 за 10 минут)
Пробую использовать Ultimate Thread Group и Constant Throuhput Timer - заданный rate не держится.

При использовании обычного Thread Group - все запросы пуляются быстро и неравномерно, чем указанной время разгона (в моем случае оно равно времени теста )

Можно ли отрегулировать rate на постоянную величину?


Используйте thread group. В ней укажите duration=600 секунд, Loop Count - forever, нужное вам количество тредов, и по-желанию рамп-ап период.
Для подачи постоянной нагрузки с определенной скоростью используйте элемент тест плана Constant throughput timer, добавьте его в тред группу.


Я не советую пользоваться Constant throughput timer, он себя очень плохо ведет на поддержании определенного рейта нагрузки. И я советую пользоваться Throughput Shaping Timer из jmeter-plugins. Такой таймер можно включить в любую Thread Group. Кстати на страничке с описанием этого таймера есть простое правило, как расчитать минимальное кол-во потоков, которое необходимо для стабильной подачи нагрузки.

threads = rps * max_response_time_in_ms / 1000



В моем случае ответ от сервера может быть и 60000 ms и 5000 ms.Если я считаю по максимальному рейту, получается 60000*10/1000 ~ около 600 тредов
Насчет нестабильности Constant Throughput Timer согласна.

Shaping Timer ведет себя более менее прилично, но в итоге rate все равно не достигает желаемого (раза в полтора меньше).

Во вложении скрины тест плана.
Таймер завернут в Thread Group, в Random Controller завернуты все операции. Один виртуальный пользователь может выполнить одну операцию.

Прикрепленные файлы

  • Прикрепленный файл  THG.png   93,65К   74 Количество загрузок:
  • Прикрепленный файл  Th_T.png   100,09К   63 Количество загрузок:

  • 0

#5 beast4

beast4

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:А.Ф.

Отправлено 02 августа 2013 - 11:24




Есть ли у кого опыт генерации постоянной нагрузки для jmeter?
Хочу создать постоянную нагрузку в течение 10 минут.
(например, чтобы 10 запросов в секунду, всего 6000 за 10 минут)
Пробую использовать Ultimate Thread Group и Constant Throuhput Timer - заданный rate не держится.

При использовании обычного Thread Group - все запросы пуляются быстро и неравномерно, чем указанной время разгона (в моем случае оно равно времени теста )

Можно ли отрегулировать rate на постоянную величину?


Используйте thread group. В ней укажите duration=600 секунд, Loop Count - forever, нужное вам количество тредов, и по-желанию рамп-ап период.
Для подачи постоянной нагрузки с определенной скоростью используйте элемент тест плана Constant throughput timer, добавьте его в тред группу.


Я не советую пользоваться Constant throughput timer, он себя очень плохо ведет на поддержании определенного рейта нагрузки. И я советую пользоваться Throughput Shaping Timer из jmeter-plugins. Такой таймер можно включить в любую Thread Group. Кстати на страничке с описанием этого таймера есть простое правило, как расчитать минимальное кол-во потоков, которое необходимо для стабильной подачи нагрузки.

threads = rps * max_response_time_in_ms / 1000



В моем случае ответ от сервера может быть и 60000 ms и 5000 ms.Если я считаю по максимальному рейту, получается 60000*10/1000 ~ около 600 тредов
Насчет нестабильности Constant Throughput Timer согласна.

Shaping Timer ведет себя более менее прилично, но в итоге rate все равно не достигает желаемого (раза в полтора меньше).

Во вложении скрины тест плана.
Таймер завернут в Thread Group, в Random Controller завернуты все операции. Один виртуальный пользователь может выполнить одну операцию.


спасибо, кажется разобралась.
Для 10 rps и 10 минут стало похоже на правду .
Сейчас попробую для других rate
  • 0

#6 schizophrenia

schizophrenia

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Mikhail Epikhin
  • Город:Moscow

Отправлено 02 августа 2013 - 12:58

Shaping Timer ведет себя более менее прилично, но в итоге rate все равно не достигает желаемого (раза в полтора меньше).



А сделайте, пожалуйста, тест со ступенчато-возрастающей нагрузкой от 1 до 10 rps с шириной ступеньки в 1-2 минуты и приложите сюда throughput-delay график:) Возможно проблема в том, что точка ретроградации/деградации у вас раньше 10rps:)
  • 0

July 2015 — Present / Service Reliability Engineer at Yandex 

Sep 2012 — July 2015 / Performance Test Engineer at Yandex 
Feb 2012 — Aug 2012 / Performance Test Engineer at Performance Lab 


#7 beast4

beast4

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:А.Ф.

Отправлено 05 августа 2013 - 13:48

Подскажите, Какой приложить график?
Не нашла в листенерах такой..
  • 0

#8 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 05 августа 2013 - 15:11

Подскажите, Какой приложить график?
Не нашла в листенерах такой..


Как я понял
http://jmeter-plugin...CompositeGraph/
  • 0

#9 beast4

beast4

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:А.Ф.

Отправлено 07 августа 2013 - 10:50


Подскажите, Какой приложить график?
Не нашла в листенерах такой..


Как я понял
http://jmeter-plugin...CompositeGraph/



Во вложении график.
Могу приложить и тест-план.
Транзакций огромное количество,т.к они все разные и находятся в Random Controller и каждый тред выполняет только один запрос.
Как и предполагалось точка насыщения наступает ранее.
Примерно на 1 запросе в пять секунд :)
Тем не менее, интересно, почему rate меньше задаваемого.
Если jmeter должен стрелять по 10 запросов в секунду ему должны придти ответы (или сообщения об ошибках) на все 10.

Спасибо за помощь!

Прикрепленные файлы

  • Прикрепленный файл  compos.png   132,88К   47 Количество загрузок:

  • 0

#10 Ant134

Ant134

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Родин Антон Валерьевич

Отправлено 27 января 2017 - 08:46

Помогите пожалуйста с настройками для теста.

Имеется 7 thread group. В каждой разная нагрузка. В одной 15,6 RPS, в другой 4.8 RPS, в третей - 6 RPS. Нужно запустить все 7 групп с постоянной нагрузкой в одно время на 5 минут. 

Указываю сл.данные в каждой группе: duration=300 секунд, Loop Count - forever, нужное вам количество тредов (Кол-во запросов в секунду (RPS)*10, например 156 запросов), и 10 рамп-ап период.

В Shaping Timer какие значения мне надо указывать чтоб была постоянная нагрузка?


  • 0

#11 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 27 января 2017 - 09:36

 

В Shaping Timer какие значения мне надо указывать чтоб была постоянная нагрузка?

 

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


  • 0

#12 Ant134

Ant134

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Родин Антон Валерьевич

Отправлено 27 января 2017 - 10:19

 

 

В Shaping Timer какие значения мне надо указывать чтоб была постоянная нагрузка?

 

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

 

Т.е. в start rps 15,6. В end rps 15,6. duralion 300 sec? При запуске ошибка с указанием на дробную.

Разобрался. Точка нужна а не запятая. Еще заметил что если в группе 3 запроса, то 15.6 rps на 3 запроса делятся с разной скоростью. Можно ли как то чтобы каждый запрос был по 15.6 внутри одной группы? Если раскидать 3 запроса на 3 группы, то у каждого 15.6. 


  • 0

#13 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 27 января 2017 - 11:58

 

 

 

В Shaping Timer какие значения мне надо указывать чтоб была постоянная нагрузка?

 

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

 

Т.е. в start rps 15,6. В end rps 15,6. duralion 300 sec? При запуске ошибка с указанием на дробную.

Разобрался. Точка нужна а не запятая. Еще заметил что если в группе 3 запроса, то 15.6 rps на 3 запроса делятся с разной скоростью. Можно ли как то чтобы каждый запрос был по 15.6 внутри одной группы? Если раскидать 3 запроса на 3 группы, то у каждого 15.6. 

 

просто 15.6 умножьте на 3 ;)


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных