Size: a a a

QA — Load & Performance

2020 March 24

ВС

Вячеслав Смирнов in QA — Load & Performance
lejng
Разбираюсь с джеметром, есть такой вопрос если необходимо 13 запросов/сек в течении 20 мин,
я так понимаю тогда users = 13 * 60 * 20 = 15600 и Rump-up = 60 * 20 = 1200, или я не так понимаю?
Да так можно. Но это достаточно дорогой вариант получается. Если сценарий не отработает за 1 сек, если он долгий. То каждую секунду будет копиться +13 потоков. И через какое-то время их количество станет большим.

Чтобы снизить такой нежелательный эффект, можно сделать 20 итераций на поток, и будет в 20 раз меньше потоков.
источник

l

lejng in QA — Load & Performance
Вячеслав Смирнов
Да так можно. Но это достаточно дорогой вариант получается. Если сценарий не отработает за 1 сек, если он долгий. То каждую секунду будет копиться +13 потоков. И через какое-то время их количество станет большим.

Чтобы снизить такой нежелательный эффект, можно сделать 20 итераций на поток, и будет в 20 раз меньше потоков.
Вы имеете ввиду Loop count поставить например 20 и уменьшить users в 20 раз что бы машину не перегружать?
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
lejng
Вы имеете ввиду Loop count поставить например 20 и уменьшить users в 20 раз что бы машину не перегружать?
Да. Именно так.

Вот этот вариант, который вы сначала описали. Фактически, единственный вариант реализации открытой модели нагрузки в JMeter. Но такой необычной - постоянная нагрузка с открытой моделью. В этой модели количество подключений/потоков может расти до бесконечности. На деле это приведёт к Out of memory error.

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

Или использовать полумеру - переиспользовать потоки для эмуляции нескольких виртуальных пользователей (VU), например, 10 или 20 Loop Count. Недостатки тут такие - график нагрузки не будет таким же гладким, как при Loop Count == 1. Но в среднем, интенсивность будет как надо.
источник

l

lejng in QA — Load & Performance
Вячеслав Смирнов
Да. Именно так.

Вот этот вариант, который вы сначала описали. Фактически, единственный вариант реализации открытой модели нагрузки в JMeter. Но такой необычной - постоянная нагрузка с открытой моделью. В этой модели количество подключений/потоков может расти до бесконечности. На деле это приведёт к Out of memory error.

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

Или использовать полумеру - переиспользовать потоки для эмуляции нескольких виртуальных пользователей (VU), например, 10 или 20 Loop Count. Недостатки тут такие - график нагрузки не будет таким же гладким, как при Loop Count == 1. Но в среднем, интенсивность будет как надо.
понял спасибо
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Другой нюанс в отличии понятия

- запрос в сек
- старт сценария в сек

Сейчас будет 13 стартов сценария в сек.
Если в сценарии, допустим, 3 запроса. И каждый из них выполняется за 100 мсек, то будет даже с накладными расходами интенсивность не 13 запросов в сек, а 39
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
jagga jagga
jp@gc throughput shaping
Чтобы контроллировать запросы в сек, есть таймеры специальные. Как выше написали коллеги
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
А если в сценарии 3 запроса, и они выполняют по 5 сек каждый, то интенсивность отправки первого будет 13 в сек, второго и третьего - уже как получится. График нагрузки в RPS будет неровный. Но в среднем, в сумме, более-менее 13 в сек будет выдержана
источник

VG

Viktor Ganeles in QA — Load & Performance
Vladimir Sitnikov
А у JMeter’а сейчас наоборот: самый частый случай — это форма с кучей полей ввода.
Имхо устроит и вариант с одним списком изменений для всего процесса jmeter - в любом месте тест-плана
источник

VS

Vladimir Sitnikov in QA — Load & Performance
Viktor Ganeles
Имхо устроит и вариант с одним списком изменений для всего процесса jmeter - в любом месте тест-плана
Ну, это ровно как сейчас реализовано. И с единым списком фигово получается.
Где-нибудь в одном месте поправишь. В другом поправишь. Вернёшься к первому, говоришь «давай, отменяй» а он тебе вообще всё отменять будет.
источник

VG

Viktor Ganeles in QA — Load & Performance
Vladimir Sitnikov
Ну, это ровно как сейчас реализовано. И с единым списком фигово получается.
Где-нибудь в одном месте поправишь. В другом поправишь. Вернёшься к первому, говоришь «давай, отменяй» а он тебе вообще всё отменять будет.
Сейчас оно по-дефолту отключено же вроде
источник

VS

Vladimir Sitnikov in QA — Load & Performance
Viktor Ganeles
Сейчас оно по-дефолту отключено же вроде
А кто запрещает включить?
источник

VG

Viktor Ganeles in QA — Load & Performance
Скорее вопрос, почему отключено :)
источник

VG

Viktor Ganeles in QA — Load & Performance
В чате жалуются на глючность, без конкретики
Вот и не хочется проблемы огребать
источник

jj

jagga jagga in QA — Load & Performance
да просто сроку испорченную хотя бы отменял - было бы уже клево
источник

VG

Viktor Ganeles in QA — Load & Performance
Владимир, а ты знаешь, почему такая хитрая структура у jmx-файлов?
Дочерние элементы не являются дочерними элементами в xml напрямую, а вместо этого являются дочерними элементами чего-то другого и вяжутся через хэши
источник

VG

Viktor Ganeles in QA — Load & Performance
Мы тут хотели написать инструмент-переименовывалку семплеров
Многоуровневую Нумерацию вставить, имена переменных в имена экстракторов добавить

И подзадолбались :)
источник

K

Korwwyn in QA — Load & Performance
Всем привет! Ребят, вопрос есть.
Начал смотреть в сторону k6.io и не очень понятно - умеет ли он в распределенную нагрузку? Чтобы как в джиметре, мастер, ноды и так далее.
Вижу что есть их собственный клауд, а про масштабирование "своими силами" не нашел.
источник

VS

Vladimir Sitnikov in QA — Load & Performance
Viktor Ganeles
Владимир, а ты знаешь, почему такая хитрая структура у jmx-файлов?
Дочерние элементы не являются дочерними элементами в xml напрямую, а вместо этого являются дочерними элементами чего-то другого и вяжутся через хэши
Этого не знаю
источник

AG

Alex Grishutin in QA — Load & Performance
Viktor Ganeles
Мы тут хотели написать инструмент-переименовывалку семплеров
Многоуровневую Нумерацию вставить, имена переменных в имена экстракторов добавить

И подзадолбались :)
Жиза, мы с этим то же задолбались)
источник

VG

Viktor Ganeles in QA — Load & Performance
Alex Grishutin
Жиза, мы с этим то же задолбались)
Делали такую же штуку?
источник