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

Фотография

JMeter настройка Thread Group, параметры Rump-Up period и Loop Count?

JMeter

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

#1 AntonK

AntonK

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 19 января 2016 - 10:42

Всем привет.
Осваиваю JMeter, и в процессе курения мануала и запуска пробных тестов возникло недопонимание одного момента.
У нас есть параметры: 
Number of Threads - это количество юзеров которые будут заходить на сайт
Rump-Up period - это за который все наши юзеры зайдут на сайт
Loop Count - это кол-во циклов исполнения юзерами действий в Thread Group

 

Для тестирования были взяты данные из потолка 

Number of Threads = 10
Rump-Up period =15 sec
Loop Count = 100

Далее то что я не до конца понял:
У нас "зайдут" на сайт 10 юзеров в течении 15 секунд и это все повторится 100 раз и в итоге у нас отправится 1000 запросов, и следовательно время прохождения скрипта должно занять 1500 секунд (15 секунд*100 раз), но проходит +-150 секунд. Т.е они идут как-то параллельно? 

Как отправляются запросы? Заходят 10 юзеров в течении 15 сек, затем опять 10 юзеров в течении 15 сек, и тд. 100  раз? Или согласно заданным параметрам 10 юзеров должны войти на сайт 100 раз в течении 15 секунд, но так как 1000 запросов не успевает отправится в течении заданного времени это продолжается дольше? 

 

 

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


  • 1

#2 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 19 января 2016 - 12:07

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

 

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

 

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


  • 0

#3 AntonK

AntonK

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 19 января 2016 - 13:19

Вы имеете в виду что в промежуток от запуска до истечения 15 секунд никаких запросов отправляться не будет? Но на практике у меня сразу отправляются запросы. (см. вложение)
 И в мануале JMeter написано: 

The ramp-up period tells JMeter how long to take to "ramp-up" to the full number of threads chosen. If 10 threads are used, and the ramp-up period is 100 seconds, then JMeter will take 100 seconds to get all 10 threads up and running. Each thread will start 10 (100/10) seconds after the previous thread was begun. If there are 30 threads and a ramp-up period of 120 seconds, then each successive thread will be delayed by 4 seconds.

 

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

 

Промежутки мне пока не нужны, я хочу понять взаимосвязь между этими тремя параметрами

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

  • Прикрепленный файл  1.png   292,95К   3 Количество загрузок:

  • 0

#4 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 19 января 2016 - 13:52

Number of Threads = 10

 

Количество потоков выполняющих тестовые сценарии одновременно

Rump-Up period =15 sec

 

Время разогрева, к концу этого времени должны быть запущены все упомянутые выше потоки, то есть каждый следующий поток будет стартовать через полторы секунды. Параметр нужен чтоб ничего нигде не порвать при старте нагрузки

Loop Count = 100

 

Сколько раз выполнит сценарий каждый из потоков.

 

То есть, запустив с такими параметрами вы получите исполнение своего сценария 1000 раз, в 10 одновременно работающих "пользователей", первые 15 секунд теста нагрузка у вас будет нарастать.


  • 2

#5 AntonK

AntonK

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 19 января 2016 - 15:07

Т.е.10 потоков стартуют по очереди через 1,5 секунды каждый и повторяются они по 100 раз.

Т.е. 1-й поток начинает, к нему подключается 2й через 1,5 секунды и тд. (соотв. нагрузка растет)

И в конце работы, 1-й поток закончит свою работу раньше по сравнению с 10-м, т.к. 100 итераций он совершил раньше.  (и нагрузка к концу будет немного снижаться)

Все верно понял? 


  • 0

#6 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 20 января 2016 - 05:57

Да всё правильно поняли.

 

 

Да, и извиняюсь за дезинформацию, сам не часто работал с джметером. но я был близок =)


  • 0

#7 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 20 января 2016 - 11:24

Т.е.10 потоков стартуют по очереди через 1,5 секунды каждый и повторяются они по 100 раз.

Т.е. 1-й поток начинает, к нему подключается 2й через 1,5 секунды и тд. (соотв. нагрузка растет)

И в конце работы, 1-й поток закончит свою работу раньше по сравнению с 10-м, т.к. 100 итераций он совершил раньше.  (и нагрузка к концу будет немного снижаться)

Все верно понял? 

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


  • 2

#8 AntonK

AntonK

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 20 января 2016 - 11:33

Всем спасибо, всё понял :) 


  • 0



Темы с аналогичным тегами JMeter

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

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