Size: a a a

QA — Load & Performance

2020 April 08

ВС

Вячеслав Смирнов in QA — Load & Performance
Давайте пришлю профиль с закрытой моделью нагрузки и тротлингом, как коллеги выше пишут
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
val injectionSteps  - очень больно ))
источник

АС

Артем Сидорук in QA — Load & Performance
По пейсу вроде понял. Спасиб.
источник

АС

Артем Сидорук in QA — Load & Performance
Ιωάννης Τσεκούρι
val injectionSteps  - очень больно ))
Это тоже в каком-то примере так было)
источник

АС

Артем Сидорук in QA — Load & Performance
За примеры спасибо - всегда полезно)
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Артем Сидорук
Это тоже в каком-то примере так было)
scn.inject(
   incrementConcurrentUsers(5) // Int
     .times(5)
     .eachLevelLasting(10 seconds)
     .separatedByRampsLasting(10 seconds)
     .startingFrom(10) // Int
 )
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
// generate a closed workload injection profile
// with levels of 10, 15, 20, 25 and 30 concurrent users
// each level lasting 10 seconds
// separated by linear ramps lasting 10 seconds
источник

АС

Артем Сидорук in QA — Load & Performance
Ιωάννης Τσεκούρι
scn.inject(
   incrementConcurrentUsers(5) // Int
     .times(5)
     .eachLevelLasting(10 seconds)
     .separatedByRampsLasting(10 seconds)
     .startingFrom(10) // Int
 )
воооо... так симпатичнее)
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Артем Сидорук
воооо... так симпатичнее)
https://gatling.io/2018/10/04/gatling-3-closed-workload-model-support/

вот с этим необходимо ознакомится тоже
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
#gatling
Закрытая модель нагрузки с тротлингом:
Отчет

Исходный код профиля нагрузки и сценария:
https://gist.github.com/polarnik/d21db22114d1b7b68064202ff95d1c2d

Видны скачки количества пользователей. Это из-за того, что использовал pace с длительностью шага. Если использовать вариант с forever (тоже есть в коде), то тест не будет вечным, он будет длиться столько, сколько указано в throttle, но скачков не будет.

pdf-вариант отчета:
-- google drive
-- yandex drive
источник

АС

Артем Сидорук in QA — Load & Performance
Вячеслав Смирнов
#gatling
Закрытая модель нагрузки с тротлингом:
Отчет

Исходный код профиля нагрузки и сценария:
https://gist.github.com/polarnik/d21db22114d1b7b68064202ff95d1c2d

Видны скачки количества пользователей. Это из-за того, что использовал pace с длительностью шага. Если использовать вариант с forever (тоже есть в коде), то тест не будет вечным, он будет длиться столько, сколько указано в throttle, но скачков не будет.

pdf-вариант отчета:
-- google drive
-- yandex drive
Спасибо. Попробую и на такой модели погонять.

p.S.: а можно увидеть скрипты графаны, которые этот дашборд отрисовали?
Как минимум интересует как табличка boomtable собирается.
Тоже хочу такую)
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Регистрируйтесь на #вебинар Алексея Рагозина.
Мастер-класс: Новые и старые возможности Java Flight Recorder в OpenJDK 11
Дата и время: 9 апреля 2020 c 18:00 до 20:00 (завтра)

Полезные материалы:
- Слайды по теме вебинара
- Статья на habr

Рекомендую ознакомиться с материалами. Подготовиться, подготовить вопросы. Зарегистрироваться на вебинар. Получить полезные навыки на вебинаре

Регистрация по ссылке: https://aragozin.timepad.ru/event/1281815/
Speaker Deck
Алексей Рагозин — Новые и старые возможности Java Flight Recorder в OpenJDK 11
Мастер-класс: Новые и старые возможности Java Flight Recorder в OpenJDK 11

Java Flight Recoder — мощный инструмент профилирования и диагностики
встроенный в JVM.

В промежутке между JDK 8 и JDK 11 Java Flight Recorder претерпел ряд
серьёзных изменений. Поменялась лицензия, очень сильно поменялись API
и формат файлов.

Mission Control — основной инструмент для работы с дампами Flight
Recorder, так же претерпел серьёзные изменения и получил Open Source
лицензию.

Разумеется, помимо технических изменений, в новом Flight Recorder
появились и новые, долгожданные возможности.
В рамках мастер класса будут показаны основные возможности Java Flight
Recorder и Mission Control 7.0.

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

Участникам мастер-класса потребуется следующее ПО
- OpenJDK 11
- Mission Control 7.0
- Apache Maven 3.6
- git
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Видны скачки количества пользователей (Active Users - Virtual User - VU - правая ось на графиках - количество стартов сценариев в секунду). Это из-за того, что использовал pace с длительностью шага. Если использовать вариант с forever (тоже есть в коде), то тест не будет вечным, он будет длиться столько, сколько указано в throttle, но скачков не будет.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
При этом количество конкурентных пользователей (выполняющихся одновременных "потоков" / "обработчиков" закрытой модели Gatling - Concurrent Users - левая ось на графике) растёт согласно профилю, от 1 до 5, без скачков. Таким образом, всего 1-5 обработчиков создают в итоге 0-70 запросов в сек.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Только что заметил проседание нагрузки. По профилю задавал 1-5 потоков для 0-70 RPS. То есть в конце теста должно было получиться 70 RPS. А получилось примерно 60 RPS. Значит недостаточно Concurrent Users задал. Надо больше. Может 10, а не 5.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Доску Grafana готовлю. Опубликую скоро. И доклад будет по ней
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Переслано от Вячеслав Смирнов
Регистрируйтесь на #вебинар Алексея Рагозина.
Мастер-класс: Новые и старые возможности Java Flight Recorder в OpenJDK 11
Дата и время: 9 апреля 2020 c 18:00 до 20:00 (завтра)

Полезные материалы:
- Слайды по теме вебинара
- Статья на habr

Рекомендую ознакомиться с материалами. Подготовиться, подготовить вопросы. Зарегистрироваться на вебинар. Получить полезные навыки на вебинаре

Регистрация по ссылке: https://aragozin.timepad.ru/event/1281815/
Speaker Deck
Алексей Рагозин — Новые и старые возможности Java Flight Recorder в OpenJDK 11
Мастер-класс: Новые и старые возможности Java Flight Recorder в OpenJDK 11

Java Flight Recoder — мощный инструмент профилирования и диагностики
встроенный в JVM.

В промежутке между JDK 8 и JDK 11 Java Flight Recorder претерпел ряд
серьёзных изменений. Поменялась лицензия, очень сильно поменялись API
и формат файлов.

Mission Control — основной инструмент для работы с дампами Flight
Recorder, так же претерпел серьёзные изменения и получил Open Source
лицензию.

Разумеется, помимо технических изменений, в новом Flight Recorder
появились и новые, долгожданные возможности.
В рамках мастер класса будут показаны основные возможности Java Flight
Recorder и Mission Control 7.0.

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

Участникам мастер-класса потребуется следующее ПО
- OpenJDK 11
- Mission Control 7.0
- Apache Maven 3.6
- git
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Не все гладко с закрытой моделью нагрузки + throttle в Gatling.

Если шаг нагрузки pace меньше, чем фактическая суммарная длительность выполнения запросов. То будет 0 RPS.

Это не железно работает. Сначала получается чуть меньше RPS, чем нужно, а потом просто 0.

Такую особенностью заметил сейчас

Вывод - шаг нагрузки pace diration нужно брать с запасом
источник

KG

Katherine Galaykina in QA — Load & Performance
Так, еще раз большое спасибо всем неравнодушным. Краткий отчет:
Криво косо - но мне удалось запустить 1000 юзеров на боевой сервак, которые так или иначе совершали переходы, отправляли формы (правда математика количества запусков и полученных в итоге форм не бьется...но решили, что и так сойдет...1000ю пользователей удалось загрузить сервак на половину, продержать его в таком состоянии 10 минут, и убедиться что в мониторе производительности самого сервака всё ок.  Далее моя машинка просто начала зависать и посыпались эроры в  Summary Report.
Единственное что меня в этом всём смущает - в статистике сайта не отображаются посетители - но вероятно это из-за того, что IP один и тот же? Поправьте, если так быть не должно и мне пора сыпать голову пеплом...
источник

KG

Katherine Galaykina in QA — Load & Performance
А, еще вопрос - нормально ли, что Graph Result выдает такой график? на скринах обычно всё красиво, а тут мне стало страшно
источник