Forwarded from Viacheslav Smirnov
Дополню, чтобы рядышком лежало.
https://github.com/polarnik/gatling-report-example/tree/master/src/test/scala/io/qaload/gatling/reportExample/simulation
Проект с самыми разными профилями нагрузки на #Gatling.
Код снабжен полезными комментариями.
В составе проекта - открытая и закрытая модель нагрузки.
https://github.com/polarnik/gatling-report-example/tree/master/src/test/scala/io/qaload/gatling/reportExample/simulation
Проект с самыми разными профилями нагрузки на #Gatling.
Код снабжен полезными комментариями.
В составе проекта - открытая и закрытая модель нагрузки.
GitHub
gatling-report-example/src/test/scala/io/qaload/gatling/reportExample/simulation at master · polarnik/gatling-report-example
Репозиторий с разными моделями нагрузки Gatling. Создан для демонстрации корректности работы доски Gatling Grafana Report - polarnik/gatling-report-example
Forwarded from Maksimall89
Всем привет, как и обещал краткий мануал-faq на что смотреть, когда пишешь свой отчёт мечты и анализируешь проблемы с производительностью
https://habr.com/ru/company/tinkoff/blog/514314/
https://habr.com/ru/company/tinkoff/blog/514314/
Хабр
Анализ результатов нагрузочного тестирования
С каждым днем в мире становится все больше и больше инструментов для проведения нагрузочного тестирования. Собственно, и сам интерес к этой теме начинает возрастать. Основная задача инструмента...
Тестовые_данные_для_нагрузки_Атака_не_клонов_Смирнов_Вячеслав_ВТБ.pdf
9.1 MB
Слайды "Тестовые данные для нагрузки. Атака не клонов" для митапа #9 Общества анонимных тестировщиков.
Спасибо, что пришли на митап. Запись велась, будет позже
Спасибо, что пришли на митап. Запись велась, будет позже
Forwarded from Ekaterina Bono
QA-конференция QAASP 2020
16 октября в онлайн формате пройдет большая минская QA-конференция QAASP 2020: Quality Assurance, Automation, Security, Performance, Testing. На нее соберутся эксперты из успешных компаний, чтобы поделиться опытом тестирования не только software, но и hardware.
На конференции в формате онлайн вы сможете послушать доклады и пообщаться о наболевшем по насущным вопросам QA в следующих сферах:
• Ручное тестирование
• Автоматизация тестирования
• Нагрузочное тестирование
• Тестирование безопасности
• Серверное тестирование
• Мобильное тестирование
• Фреймворки и подходы
• Инструменты и тулы
• Usability-тестирование
• Построение процессов и команд в QA
• Управление тестированием
• Карьера в QA и после QA
В день конференции вы сможете поучаствовать в интерактивном онлайн-стриме, задать вопросы спикерам и пообщаться с другими участниками, а после завершения конференции будут доступны записи докладов.
Программа и доступы на сайте: https://qaasp.tech
Когда: 16 октября
Где: Везде, где есть интернет
Скидка 10% по промокоду QALOAD на все типы билетов (настоящие и будущие)
16 октября в онлайн формате пройдет большая минская QA-конференция QAASP 2020: Quality Assurance, Automation, Security, Performance, Testing. На нее соберутся эксперты из успешных компаний, чтобы поделиться опытом тестирования не только software, но и hardware.
На конференции в формате онлайн вы сможете послушать доклады и пообщаться о наболевшем по насущным вопросам QA в следующих сферах:
• Ручное тестирование
• Автоматизация тестирования
• Нагрузочное тестирование
• Тестирование безопасности
• Серверное тестирование
• Мобильное тестирование
• Фреймворки и подходы
• Инструменты и тулы
• Usability-тестирование
• Построение процессов и команд в QA
• Управление тестированием
• Карьера в QA и после QA
В день конференции вы сможете поучаствовать в интерактивном онлайн-стриме, задать вопросы спикерам и пообщаться с другими участниками, а после завершения конференции будут доступны записи докладов.
Программа и доступы на сайте: https://qaasp.tech
Когда: 16 октября
Где: Везде, где есть интернет
Скидка 10% по промокоду QALOAD на все типы билетов (настоящие и будущие)
📢 Load & Performance
Тестовые_данные_для_нагрузки_Атака_не_клонов_Смирнов_Вячеслав_ВТБ.pdf
Запись выступления на митапе #9 общества анонимных тестировщиков "Тестовые данные для нагрузки. Атака не клонов"
https://www.youtube.com/watch?v=ErGuYOkzZ_I
https://www.youtube.com/watch?v=ErGuYOkzZ_I
YouTube
Смирнов Вячеслав (ВТБ): Тестовые данные для нагрузки. Атака не клонов.
Особенности подготовки реалистичных тестовых данных для нагрузочного проекта. И последующего использования этих данных в тестах.
Для тех, кто уже готовит тестовые данные, будут полезными конкретные рецепты. Для тех, кто только планирует, полезными будут подходы…
Для тех, кто уже готовит тестовые данные, будут полезными конкретные рецепты. Для тех, кто только планирует, полезными будут подходы…
Слайды к докладам:
1) Нагрузочное тестирование с нуля - Кирилл Юрков
2) Выбор инструмента НТ - Урал Нургалин
для HeisenBug Piter 2020 (16 июня 2020 года)
Описание докладов и докладчиков:
https://heisenbug-piter.ru/2020/spb/talks/7kljtoxga4yizsw0bw6kbe/
1) Нагрузочное тестирование с нуля - Кирилл Юрков
2) Выбор инструмента НТ - Урал Нургалин
для HeisenBug Piter 2020 (16 июня 2020 года)
Описание докладов и докладчиков:
https://heisenbug-piter.ru/2020/spb/talks/7kljtoxga4yizsw0bw6kbe/
Google Docs
Нагрузочное тестирование с нуля
Нагрузочное тестирование с нуля Кирилл Юрков Добрый день, меня зовут Кирилл Юрков. На данный момент я работаю в Билайн и представляю сообщество инженеров по тестированию производительности. Хочу сегодня вам рассказать про то как провести простое нагрузочное…
Forwarded from Sergei Chepkasov
Привет!
Релиз новой версии нашей библиотеки для gatling: https://github.com/TinkoffCreditSystems/gatling-picatinny/releases/tag/v0.6.0
Некоторые обновления:
* генерация jwt: добавить json шаблон для payload, добавить в сценарий одну строчку -> на каждой итерации генерируется jwt из шаблона с переменными из фидеров/сессии гатлинга. Актуально для всех у кого замокирована авторизация jwt на тесте.
* regex feeder: генерирует строку по регулярному выражению, дальше можно использовать в сценариях. Актуально для генерации id или других тестовых данных любого формата.
* обновления в модуле profile: теперь можно запускать тесты из yaml конфигурации.
* тест больше не падает при недоступности influxdb, только сообщает об ошибке, стоит учитывать.
Как пользоваться библиотекой можно узнать в ридми: https://github.com/TinkoffCreditSystems/gatling-picatinny/blob/master/README.md
Если создать новый проект из нашего шаблона, то библиотека уже подключена: https://github.com/TinkoffCreditSystems/gatling-template.g8
Вопросы по использованию можно задавать в этом чате или в личке, profile: @MaksSieve, любые вопросы по gatling-picatinny и giter8 шаблону: @chepk @jigarkhwar
Всем хорошего дня)
Релиз новой версии нашей библиотеки для gatling: https://github.com/TinkoffCreditSystems/gatling-picatinny/releases/tag/v0.6.0
Некоторые обновления:
* генерация jwt: добавить json шаблон для payload, добавить в сценарий одну строчку -> на каждой итерации генерируется jwt из шаблона с переменными из фидеров/сессии гатлинга. Актуально для всех у кого замокирована авторизация jwt на тесте.
* regex feeder: генерирует строку по регулярному выражению, дальше можно использовать в сценариях. Актуально для генерации id или других тестовых данных любого формата.
* обновления в модуле profile: теперь можно запускать тесты из yaml конфигурации.
* тест больше не падает при недоступности influxdb, только сообщает об ошибке, стоит учитывать.
Как пользоваться библиотекой можно узнать в ридми: https://github.com/TinkoffCreditSystems/gatling-picatinny/blob/master/README.md
Если создать новый проект из нашего шаблона, то библиотека уже подключена: https://github.com/TinkoffCreditSystems/gatling-template.g8
Вопросы по использованию можно задавать в этом чате или в личке, profile: @MaksSieve, любые вопросы по gatling-picatinny и giter8 шаблону: @chepk @jigarkhwar
Всем хорошего дня)
GitHub
Release v0.6.0 Excalibur · Tinkoff/gatling-picatinny
update to gatling 3.4.0
add JWT generator
refactor profile module & add yaml profile configuration
add regex feeder & list to feeder transformer
handle exceptions when influxdb is not avail...
add JWT generator
refactor profile module & add yaml profile configuration
add regex feeder & list to feeder transformer
handle exceptions when influxdb is not avail...
Привет всем! Все мы в мире нагрузки немного устали от разношерстной терминологии, абстрактной стандартизации и передачи опыта в формате Мастер Джедай -> Падаван.
Поэтому мы решили собрать инициативную группу людей, которая бы начала формирование общей базы знаний по нагрузочному тестированию.
В данную группу очень требуются люди, обладающие этими самыми знаниями в сфере нагрузочного тестирования или близко к ней.
Большая просьба к тем, кто хочет эти знания только получить или просто недостаточно уверен в своих знаниях - не вступать в инициативную группу. Вся база будет общедоступной и мы обязательно будем делать все необходимые анонсы по её реализации и наполнению. С очень большой вероятностью вы сможете дополнять её своими знаниями, но после её формирования.
Ссылка на чат: https://www.tgoop.com/LoadKnowledge
Большим плюсом будет если вы, при входе в чат, кратко расскажете о своей работе и опыте. Спасибо!
Поэтому мы решили собрать инициативную группу людей, которая бы начала формирование общей базы знаний по нагрузочному тестированию.
В данную группу очень требуются люди, обладающие этими самыми знаниями в сфере нагрузочного тестирования или близко к ней.
Большая просьба к тем, кто хочет эти знания только получить или просто недостаточно уверен в своих знаниях - не вступать в инициативную группу. Вся база будет общедоступной и мы обязательно будем делать все необходимые анонсы по её реализации и наполнению. С очень большой вероятностью вы сможете дополнять её своими знаниями, но после её формирования.
Ссылка на чат: https://www.tgoop.com/LoadKnowledge
Большим плюсом будет если вы, при входе в чат, кратко расскажете о своей работе и опыте. Спасибо!
Forwarded from Vi
Коллеги, привет! Хочу сообщить вам о выпуске новой версии плагина для тестирования AMQP c помощью gatling. GitHub проекта https://github.com/TinkoffCreditSystems/gatling-amqp-plugin. В этой версии (0.0.4) наконец-то появилась поддержка топиков, обновлены версии gatling и rabbit-mq клиента. Изменён ДСЛ для задания пропертей и заголовков сообщений. Возможно кому-то пригодится, будем ждать вашего фидбека. #gatling #amqp #rabbit-mq #gatling3.4
GitHub
GitHub - Tinkoff/gatling-amqp-plugin: Plugin for support performance testing with AMQP in Gatling (3.7.x)
Plugin for support performance testing with AMQP in Gatling (3.7.x) - Tinkoff/gatling-amqp-plugin
Всем привет!
Обновил пример gatling-скриптов для демонстрации различных моделей нагрузки.
Открытая модель нагрузки
Сценарий:
* Gatling Grafana Report: Gatling - open model
* openmodel-incrementuserspersec
Обратите внимание, как при открытой модели нагрузки растет количество одновременно работающих сценариев после точки деградации
Закрытая модель нагрузки
Сценарий:
Который рекомендую использовать вместо открытой модели
* Gatling Grafana Report: Gatling - closed model
* closemodel-incrementconcurrentusers
Обратите внимание на ровный по RPS профиль нагрузки, это trottle. И что после точки деградации количество параллельных сценариев (а следовательно потоков в Gatling) не растёт.
Значит Gatling не упадет по Out Of Memory Error под конец теста. А нагрузка та же самая.
По ссылкам доступны отчёты: Grafana и HTML.
Репозиторий:
https://github.com/polarnik/gatling-report-example
Обновил пример gatling-скриптов для демонстрации различных моделей нагрузки.
Открытая модель нагрузки
Сценарий:
io.qaload.gatling.reportExample.simulation.OpenModel_IncrementUsersPerSec
* Gatling Grafana Report: Gatling - open model
* openmodel-incrementuserspersec
Обратите внимание, как при открытой модели нагрузки растет количество одновременно работающих сценариев после точки деградации
Закрытая модель нагрузки
Сценарий:
io.qaload.gatling.reportExample.simulation.CloseModel_IncrementConcurrentUsers + trottle
Который рекомендую использовать вместо открытой модели
* Gatling Grafana Report: Gatling - closed model
* closemodel-incrementconcurrentusers
Обратите внимание на ровный по RPS профиль нагрузки, это trottle. И что после точки деградации количество параллельных сценариев (а следовательно потоков в Gatling) не растёт.
Значит Gatling не упадет по Out Of Memory Error под конец теста. А нагрузка та же самая.
По ссылкам доступны отчёты: Grafana и HTML.
Репозиторий:
https://github.com/polarnik/gatling-report-example
Forwarded from Александра Муратова
Всем привет! написали статью по анализу производительности БД Oracle с помощью OEM. Статья будет полезна тем, кто у кого нет большого опыта работы с OEM. https://habr.com/ru/company/tinkoff/blog/525436/
Хабр
Мониторинг БД Oracle с помощью OEM
Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с...
Forwarded from Sergei Chepkasov
Всем привет!
Провели воркшоп на гейзенбаге по тестированию производительности с gatling и gitlab, для воркшопа подготовлено множество материалов, которые могут помочь в самостоятельном изучении этих инструментов.
Все материалы доступны в публичном репозитории: https://gitlab.com/tinkoffperfworkshop
Первую часть воркшопа можно повторить самостоятельно по шагам из шпаргалки: https://gitlab.com/tinkoffperfworkshop/part-1/cheat-sheet
Во второй части созданы отдельные репозитории, в них также есть ридми с инструкциями: https://gitlab.com/tinkoffperfworkshop/part-2
Что есть интересного:
1. Разворачиваем окружение для тестов локально в контейнерах: influxdb, vector, loki, prometheus, cadvisor, portainer, grafana, gitlab-runner
2. Создаем скрипты gatling для различных протоколов: http, jdbc, grpc
3. Создаем CI джобы для gitlab
4. Подключаем агент в gitlab.com
5. Проводим и мониторим тесты
Провели воркшоп на гейзенбаге по тестированию производительности с gatling и gitlab, для воркшопа подготовлено множество материалов, которые могут помочь в самостоятельном изучении этих инструментов.
Все материалы доступны в публичном репозитории: https://gitlab.com/tinkoffperfworkshop
Первую часть воркшопа можно повторить самостоятельно по шагам из шпаргалки: https://gitlab.com/tinkoffperfworkshop/part-1/cheat-sheet
Во второй части созданы отдельные репозитории, в них также есть ридми с инструкциями: https://gitlab.com/tinkoffperfworkshop/part-2
Что есть интересного:
1. Разворачиваем окружение для тестов локально в контейнерах: influxdb, vector, loki, prometheus, cadvisor, portainer, grafana, gitlab-runner
2. Создаем скрипты gatling для различных протоколов: http, jdbc, grpc
3. Создаем CI джобы для gitlab
4. Подключаем агент в gitlab.com
5. Проводим и мониторим тесты
GitLab
TinkoffPerfWorkshop · GitLab
Tinkoff performance workshop on Heisenbug
Forwarded from Maksimall89
Всем привет, как и обещал краткий мануал-faq на что смотреть, когда пишешь свой отчёт мечты и анализируешь проблемы с производительностью
https://habr.com/ru/company/tinkoff/blog/514314/
https://habr.com/ru/company/tinkoff/blog/514314/
Хабр
Анализ результатов нагрузочного тестирования
С каждым днем в мире становится все больше и больше инструментов для проведения нагрузочного тестирования. Собственно, и сам интерес к этой теме начинает возрастать. Основная задача инструмента...
TestTrend meetup
2 декабря 2020 года
Программа митапа:
1️⃣ Владимир Плизга, ЦФТ, “И мне ничего за это не будет.” Как внедрять тестовое поведение в чистовой код?
Рассказ с примерами, демoнстацией и сравнением
- AspectJ
- Byteman
- jMint
🗝 про Side Effect Injection
🖼 Слайды к докладу
2️⃣ Артём Козленко, ЦФТ, Атомарность в UI-тестах
Рассказ с примерами и демонстрацией того, как можно
- упростить тесты и ускорить их
- использовать Mock-и для этого
- сделать тесты более стабильными
🗝 про Целевую проверку
3️⃣ Вячеслав Смирнов, ВТБ, Три этапа поиска максимальной производительности
Рассказ с примерами реализации и схемами работы:
- Прогревающего теста
- Теста MaxPerf
- Теста стабильности
🗝 про применение таймеров для разных тестов в Apache.JMeter и Gatling
🖼 Слайды к докладу
🎥 Запись: https://youtu.be/rCHJ7iQr6To
Где есть и сами доклады и ответы на вопросы.
Часть ответов на вопросы осталась за кадром в чате: https://www.tgoop.com/testtrend_cft/884
Мне очень понравилось. Участникам тоже. Отзывы классные
2 декабря 2020 года
Программа митапа:
1️⃣ Владимир Плизга, ЦФТ, “И мне ничего за это не будет.” Как внедрять тестовое поведение в чистовой код?
Рассказ с примерами, демoнстацией и сравнением
- AspectJ
- Byteman
- jMint
🗝 про Side Effect Injection
🖼 Слайды к докладу
2️⃣ Артём Козленко, ЦФТ, Атомарность в UI-тестах
Рассказ с примерами и демонстрацией того, как можно
- упростить тесты и ускорить их
- использовать Mock-и для этого
- сделать тесты более стабильными
🗝 про Целевую проверку
3️⃣ Вячеслав Смирнов, ВТБ, Три этапа поиска максимальной производительности
Рассказ с примерами реализации и схемами работы:
- Прогревающего теста
- Теста MaxPerf
- Теста стабильности
🗝 про применение таймеров для разных тестов в Apache.JMeter и Gatling
🖼 Слайды к докладу
🎥 Запись: https://youtu.be/rCHJ7iQr6To
Где есть и сами доклады и ответы на вопросы.
Часть ответов на вопросы осталась за кадром в чате: https://www.tgoop.com/testtrend_cft/884
Мне очень понравилось. Участникам тоже. Отзывы классные
Не так давно вышел новый jmeter 5.4. Добавили GraphQL Sampler и новый InfluxDBClient, который пишет "raw" results. Для тех кому интересно вот release notes и ссылочка на скачивание:
https://jmeter.apache.org/changes.html
https://jmeter.apache.org/download_jmeter.cgi
https://jmeter.apache.org/changes.html
https://jmeter.apache.org/download_jmeter.cgi
jmeter.apache.org
Apache JMeter
-
Changes
-
Changes
Forwarded from Viktor Ganeles
Ребята, я тут выступил на конфе от OTUS
Рассказываю, как мы поэтапно оптимизировали систему
https://m.youtube.com/watch?v=FU3zTrRqMys&t=11700s
Я начинаюсь в 03:15:00
Рассказываю, как мы поэтапно оптимизировали систему
https://m.youtube.com/watch?v=FU3zTrRqMys&t=11700s
Я начинаюсь в 03:15:00
Всем привет!
Обзор того, как мы делились опытом и помогали друг другу за две недели. #дайджест
⏱Максим Евлентьев долго пытался получить в Grafana значения Percentile, такие как JMeter HTML Report, ему помогали все:
▫️ Попробовали backend_influxdb.send_interval=1
▫️ Строили гипотезы как считается статистика
▫️ Функции last("pct99.0"), mean("pct99.0"), percentile("pct99.0",99), percentile("mean",99) не дали нужной точности, минимальная погрешность - 20% у mean("pct99.0")
✅ Пришли к необходимости использования сырых данных:
▫️ использовать Novatech-плагин, что шлет сырые данные
▫️ JMeter 5.4, который может писать сырые данные
▫️ Telegraf как Proxy для надежности вставки сырых данных
❗️Но помните - сырые данные замедляют InfluxDB, альтернативы сырым данным:
▫️ Clickhouse и InfluxDB Сontinious Querie для аггрегации сырых данных
▫️ Наоборот увеличить шаг отправки данных с 1с до 30с для точности и простоты аггрегаций
📊 Обсудили сравнение двух запусков тестов :
▫️ Проект influxdb-timeshift-proxy
▫️ Просто настройку Query Option / Time Shift в Grafana
▫️ Язык Flux + функцию timeshift
▫️ Хранилище ClickHouse + timeshift
▫️ Плагин MetaQuery для Grafana имеет функцию TimeShift
▫️ По сырым CSV-данным и заливкой сырых логов SendLogToInfluxDB (от Степана)
▫️ По сырым данным заливаемым с jsr223-listner-ом
▫️ Roman указал на проект autohome-compareQueries-datasource который работает с Grafana 6.5.3
▫️ Простой вариант с MergeResults + стандартный html отчёт + готовый скрипт для Jenkins
▫️ Предложен проект carrier-io, в котором есть Grafana-доска со сравнением
😀 Шутили
Разработки:
🆕 Sergey Bronnikov реализовал свой perfmon-agent на языке C. Если кому нужно - обращайтесь к @ligurio
🆕 Степан реализовал SendLogToInfluxDB для отправки JTL/CSV логов JMeter в InfluxDB
Доклады:
🎥 Виктор выступил с докладом "Пример оптимизации производительности в 32 раза"
Gatling:
▫️Отладка HTTP-запросов в Gatling логированием и через проксирование в Fiddler
▫️Разделение Gatling-статистики по двум системам:
▫️по двум базам данным InfluxDB через разные порты
▫️ по двум разным серверам InfluxDB
Обзор того, как мы делились опытом и помогали друг другу за две недели. #дайджест
⏱Максим Евлентьев долго пытался получить в Grafana значения Percentile, такие как JMeter HTML Report, ему помогали все:
▫️ Попробовали backend_influxdb.send_interval=1
▫️ Строили гипотезы как считается статистика
▫️ Функции last("pct99.0"), mean("pct99.0"), percentile("pct99.0",99), percentile("mean",99) не дали нужной точности, минимальная погрешность - 20% у mean("pct99.0")
✅ Пришли к необходимости использования сырых данных:
▫️ использовать Novatech-плагин, что шлет сырые данные
▫️ JMeter 5.4, который может писать сырые данные
▫️ Telegraf как Proxy для надежности вставки сырых данных
❗️Но помните - сырые данные замедляют InfluxDB, альтернативы сырым данным:
▫️ Clickhouse и InfluxDB Сontinious Querie для аггрегации сырых данных
▫️ Наоборот увеличить шаг отправки данных с 1с до 30с для точности и простоты аггрегаций
📊 Обсудили сравнение двух запусков тестов :
▫️ Проект influxdb-timeshift-proxy
▫️ Просто настройку Query Option / Time Shift в Grafana
▫️ Язык Flux + функцию timeshift
▫️ Хранилище ClickHouse + timeshift
▫️ Плагин MetaQuery для Grafana имеет функцию TimeShift
▫️ По сырым CSV-данным и заливкой сырых логов SendLogToInfluxDB (от Степана)
▫️ По сырым данным заливаемым с jsr223-listner-ом
▫️ Roman указал на проект autohome-compareQueries-datasource который работает с Grafana 6.5.3
▫️ Простой вариант с MergeResults + стандартный html отчёт + готовый скрипт для Jenkins
▫️ Предложен проект carrier-io, в котором есть Grafana-доска со сравнением
😀 Шутили
Разработки:
🆕 Sergey Bronnikov реализовал свой perfmon-agent на языке C. Если кому нужно - обращайтесь к @ligurio
🆕 Степан реализовал SendLogToInfluxDB для отправки JTL/CSV логов JMeter в InfluxDB
Доклады:
🎥 Виктор выступил с докладом "Пример оптимизации производительности в 32 раза"
Gatling:
▫️Отладка HTTP-запросов в Gatling логированием и через проксирование в Fiddler
▫️Разделение Gatling-статистики по двум системам:
▫️по двум базам данным InfluxDB через разные порты
▫️ по двум разным серверам InfluxDB
Telegram
Максим Евлентьев in QA — Load & Performance
Изменил в файле jmeter.properties у backend_influxdb.send_interval= с 5 на 1
Смотрю по консоль, данные все равно отправляются с интервалом в 5 секунд, подскажите кто сталкивался, может ещё где-то нужно изменить значение для изменения интервала отправки данных…
Смотрю по консоль, данные все равно отправляются с интервалом в 5 секунд, подскажите кто сталкивался, может ещё где-то нужно изменить значение для изменения интервала отправки данных…
JMeter:
▫️обсуждали как на связке Grafana + InfluxDB сделать отчеты для JMeter такие же как в Yandex.Tank, Кирилл предложил свой jmeterReports.
▫️поняли, что плагин jp@gc - Transactions per Second учитывает подзапросы, и значения TPS получаются выше, чем в Summary Report / Throughput для TOTAL
▫️получали дату из интервала через ${__RandomDate(,2020-12-09,2021-12-09,,)}
▫️настройка профиля нагрузки со стандартной Thread Group
▫️скачивание огромного ответа на SQL-запрос с OS Process Sampler
▫️подбирали количество потоков в JMeter для увеличения TPS
▫️выбирали сайт и способ для поиска пределов JMeter
▫️выясняли причины Response code:Non HTTP response code: org.apache.http.conn.HttpHostConnectException
▫️заливали Connect Time из сырых JTL/CSV-логов JMeter в InfluxDB c помощью проекта SendLogToInfluxDB
▫️игнорировали ошибку NullPointerException: null при использовании openJDK 15.0.1 и JMeter 5.3, 5.4 на MacOS, которая исправилась с переходом на AdoptOpenJDK
▫️осваивали работу с HTTP(S) Test Script Recorder, Fiddler, Proxyman и конверторами для записи скриптов
▫️убирали ошибку java.lang.OutOfMemoryError: Metaspace in thread удалением -XX:MaxMetaspaceSize=256m из параметров запуска и профилировали JMeter c JProfiler, Java Flight Recorder и AsyncProfiler
▫️меняли Xmx Xms без правки jmeter.bat
▫️беуспешно пытались сделать дробный малый RPS с ThroughputShapingTimer (это невозможно, тут нужен Constant Throughput Timer)
▫️удивлялись, что в JMeter есть Autosave и отмена редактирования Ctrl+Z
Также интересные обсуждения:
1️⃣ Выстраивание коммуникации на проекте НТ, советы бывалых
2️⃣ Рассчет количества WebSocket-подключений с одной станции AWS
3️⃣ Расчет модели нагрузки, поиск ПЧ (пиковый час)
4️⃣ Разбор AWR для Oracle
5️⃣ Спор нужна ли загрузка статики?
❌Она не влияет на backend в некоторых системах
✅ Она может загружать сеть и диск
✅ Может отдаваться самим беком и даже приводить к OutOfMemory
✅ Может быть не настроено клиентское кеширование на сервере и статика - узкое место
▫️обсуждали как на связке Grafana + InfluxDB сделать отчеты для JMeter такие же как в Yandex.Tank, Кирилл предложил свой jmeterReports.
▫️поняли, что плагин jp@gc - Transactions per Second учитывает подзапросы, и значения TPS получаются выше, чем в Summary Report / Throughput для TOTAL
▫️получали дату из интервала через ${__RandomDate(,2020-12-09,2021-12-09,,)}
▫️настройка профиля нагрузки со стандартной Thread Group
▫️скачивание огромного ответа на SQL-запрос с OS Process Sampler
▫️подбирали количество потоков в JMeter для увеличения TPS
▫️выбирали сайт и способ для поиска пределов JMeter
▫️выясняли причины Response code:Non HTTP response code: org.apache.http.conn.HttpHostConnectException
▫️заливали Connect Time из сырых JTL/CSV-логов JMeter в InfluxDB c помощью проекта SendLogToInfluxDB
▫️игнорировали ошибку NullPointerException: null при использовании openJDK 15.0.1 и JMeter 5.3, 5.4 на MacOS, которая исправилась с переходом на AdoptOpenJDK
▫️осваивали работу с HTTP(S) Test Script Recorder, Fiddler, Proxyman и конверторами для записи скриптов
▫️убирали ошибку java.lang.OutOfMemoryError: Metaspace in thread удалением -XX:MaxMetaspaceSize=256m из параметров запуска и профилировали JMeter c JProfiler, Java Flight Recorder и AsyncProfiler
▫️меняли Xmx Xms без правки jmeter.bat
▫️беуспешно пытались сделать дробный малый RPS с ThroughputShapingTimer (это невозможно, тут нужен Constant Throughput Timer)
▫️удивлялись, что в JMeter есть Autosave и отмена редактирования Ctrl+Z
Также интересные обсуждения:
1️⃣ Выстраивание коммуникации на проекте НТ, советы бывалых
2️⃣ Рассчет количества WebSocket-подключений с одной станции AWS
3️⃣ Расчет модели нагрузки, поиск ПЧ (пиковый час)
4️⃣ Разбор AWR для Oracle
5️⃣ Спор нужна ли загрузка статики?
❌Она не влияет на backend в некоторых системах
✅ Она может загружать сеть и диск
✅ Может отдаваться самим беком и даже приводить к OutOfMemory
✅ Может быть не настроено клиентское кеширование на сервере и статика - узкое место
Telegram
Максим Евлентьев in QA — Load & Performance
Всем привет. Вопрос по графикам в Графана. Импортировал себе несколько дашбордов. Теперь пытаюсь построить свой.
Но ни как не могу понять, как создать вот такой вот график, когда выводится просто данные и при этом не выбран ни один график в Visualization.
Но ни как не могу понять, как создать вот такой вот график, когда выводится просто данные и при этом не выбран ни один график в Visualization.
Всем привет! Выпускаем очередной краткий #дайджест обсуждений за неделю (21-28 декабря):
▫️Успешно реализовали дробные РПС с двумя видами таймеров в JMeter. Получили очень точные результаты, но на dummy sampler'ах. Даже провели небольшое исследование! Пришли к тому, что гнаться за супер точными РПСами - ни к чему.
▫️Узнавали умеет ли JMeter работать с local storage. Ответ: нет, не умеет, но умеет его имитировать.
▫️Разобрались с тем, как вручную собрать отчет в Gatling, если тест был прерван.
▫️Мимолетно заметили, что появился Gatling 3.5.0 со Scala 2.13.
▫️Делились опытом по поводу того, на тему учета неуспешных запросов в РПС.
▫️Пытались решить проблему с запуском фреймоврка и плавно перетекли в обсуждение docker'a.
▫️Ремонтировали дашборд для Gatling от @smirnovqa.
▫️Разбирались в реализации SSE на Gatling.
▫️Помогали решать тестовое задание. История без успеха, зато тестовое оптимизировали!
▫️Настраивали задержку в персентилях на wiremock.
▫️Закладывали время выполнения сценария с помощью интуиции.
▫️Учились читать readme к генератору отчетов и дашбордам (но еще была проблема в кириллице в пути к jmeter).
▫️Составляли чек-лист для общения с заказчиком нагрузки.
▫️Обсудили разницу "виртуалок" и "железных" машин.
▫️Искали целые числа, которые потерялись при запросе из Grafana в Prometheus.
▫️Оптимизировали потребление памяти при загрузке файлов на сервер в JMeter. Спойлер: косяк был в нагружаемой системе (но не только!).
Полезности:
1️⃣ @instaHipsta рекомендует инструмент для сравнения больших xml .
2️⃣ И снова @instaHipsta заметил интересную особенность Module Controller в JMeter.
3️⃣ Рекомендация @smirnovqa с автоматическим контролем SLA.
4️⃣ @smirnovqa поделился шаблоном методики нагрузочного тестирования.
5️⃣ У @annabella0131 родился опросник по серверным характеристикам для клиента.
6️⃣ @eugenis поделился методом обхода fileUpload, как следствие - экономия памяти в JMeter
▫️Успешно реализовали дробные РПС с двумя видами таймеров в JMeter. Получили очень точные результаты, но на dummy sampler'ах. Даже провели небольшое исследование! Пришли к тому, что гнаться за супер точными РПСами - ни к чему.
▫️Узнавали умеет ли JMeter работать с local storage. Ответ: нет, не умеет, но умеет его имитировать.
▫️Разобрались с тем, как вручную собрать отчет в Gatling, если тест был прерван.
▫️Мимолетно заметили, что появился Gatling 3.5.0 со Scala 2.13.
▫️Делились опытом по поводу того, на тему учета неуспешных запросов в РПС.
▫️Пытались решить проблему с запуском фреймоврка и плавно перетекли в обсуждение docker'a.
▫️Ремонтировали дашборд для Gatling от @smirnovqa.
▫️Разбирались в реализации SSE на Gatling.
▫️Помогали решать тестовое задание. История без успеха, зато тестовое оптимизировали!
▫️Настраивали задержку в персентилях на wiremock.
▫️Закладывали время выполнения сценария с помощью интуиции.
▫️Учились читать readme к генератору отчетов и дашбордам (но еще была проблема в кириллице в пути к jmeter).
▫️Составляли чек-лист для общения с заказчиком нагрузки.
▫️Обсудили разницу "виртуалок" и "железных" машин.
▫️Искали целые числа, которые потерялись при запросе из Grafana в Prometheus.
▫️Оптимизировали потребление памяти при загрузке файлов на сервер в JMeter. Спойлер: косяк был в нагружаемой системе (но не только!).
Полезности:
1️⃣ @instaHipsta рекомендует инструмент для сравнения больших xml .
2️⃣ И снова @instaHipsta заметил интересную особенность Module Controller в JMeter.
3️⃣ Рекомендация @smirnovqa с автоматическим контролем SLA.
4️⃣ @smirnovqa поделился шаблоном методики нагрузочного тестирования.
5️⃣ У @annabella0131 родился опросник по серверным характеристикам для клиента.
6️⃣ @eugenis поделился методом обхода fileUpload, как следствие - экономия памяти в JMeter
Telegram
Kirill Yurkov in QA — Load & Performance
На самом деле проблема подачи низких рпс - решаема, просто тут главное попробовать ряд решений (выбор лучшего, универсального - нет).
Я сделал тестовый пример, пока на Dummy Sampler, в котором 9 разных подходов к реализации низкого рпс, в примере дастигал…
Я сделал тестовый пример, пока на Dummy Sampler, в котором 9 разных подходов к реализации низкого рпс, в примере дастигал…
Всем привет! Выпускаем очередной краткий #дайджест обсуждений за две недели (29 декабря-12 января):
▫️Разбирали JMeter и формат времени в Java:
YY, YMD - магические константы, а yyyy - формат для года
m - малое, минуты, M - большое, месяцы
▫️Заметили, что галочка Generate Parent Sample в Transaction Controller не дает возможности записать статистику по вложенным запросам в Elasticsearch Backend Listener(delirius325)
▫️Разбор результатов нагрузки Microsoft Exchange через JMeter и MS Graph API, где со временем замедляется работа. На графиках прослеживается как при закрытой модели нагрузки снижается RPS 📉при увеличении времени отклика 📈
▫️Когда лучше фиксировать результат, ⏱ в момент отправки запроса, а когда в момент получения ответа:
▫️Почему запуск тестов JMeter Non-GUI лучше JMeter GUI:
* разная работа кода, таймеров
* меньший расход оперативной памяти
* CI/CD-запуск
* меньше шансов сломать большой JMX-файл
▫️Случайно удалились записи от Виктора 🤷♂️
▫️Обсуждали подход к тестированию асинхронного сервиса, в котором есть ограничение сверху на интенсивность операций
▫️Анализ аномалий в результатах Yandex.Tank и гипотеза по ускорению теста: нужна настройка станции
▫️Составление методики тестирования REST API интерфейсом с учетом генерации, использования и восстановления данных системы
▫️Обсуждение статьи Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему?, в которой автор задался целью повторения действий пользователя с максимальной реалистичностью при подаче нагрузки. Обсуждение интересно историями, когда действительно стоит отказаться от готового инструмента нагрузки в пользу разработки своего, а когда нет
▫️Интересное обсуждение о совмещении ролей ФТ, АТ, НТ на проекте.
▫️Жаркое обсуждение того, как лучше хранить, редактировать и запускать исходный код проекта JMeter, с учетом особенностей:
* в команде несколько человек и удобны Include Controller
* когда удобно собирать свой дистрибутив
* когда удобно использовать maven
* когда неудобно генерировать JMX/XML-файл, а когда можно
▫️Что делать если хочется отрисовать в Grafana более 3400 точек на графике, а не получается
Спасибо, что делитесь опытом!
Пишите в @qa_load, читайте @qaload
▫️Разбирали JMeter и формат времени в Java:
YY, YMD - магические константы, а yyyy - формат для года
m - малое, минуты, M - большое, месяцы
▫️Заметили, что галочка Generate Parent Sample в Transaction Controller не дает возможности записать статистику по вложенным запросам в Elasticsearch Backend Listener(delirius325)
▫️Разбор результатов нагрузки Microsoft Exchange через JMeter и MS Graph API, где со временем замедляется работа. На графиках прослеживается как при закрытой модели нагрузки снижается RPS 📉при увеличении времени отклика 📈
▫️Когда лучше фиксировать результат, ⏱ в момент отправки запроса, а когда в момент получения ответа:
# Save the start time stamp instead of the end▫️И более общий вопрос: RPS - это Request Per Second или Responce Per Second?
# This also affects the timestamp stored in result files
sampleresult.timestamp.start=true
▫️Почему запуск тестов JMeter Non-GUI лучше JMeter GUI:
* разная работа кода, таймеров
* меньший расход оперативной памяти
* CI/CD-запуск
* меньше шансов сломать большой JMX-файл
▫️Случайно удалились записи от Виктора 🤷♂️
▫️Обсуждали подход к тестированию асинхронного сервиса, в котором есть ограничение сверху на интенсивность операций
▫️Анализ аномалий в результатах Yandex.Tank и гипотеза по ускорению теста: нужна настройка станции
▫️Составление методики тестирования REST API интерфейсом с учетом генерации, использования и восстановления данных системы
▫️Обсуждение статьи Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему?, в которой автор задался целью повторения действий пользователя с максимальной реалистичностью при подаче нагрузки. Обсуждение интересно историями, когда действительно стоит отказаться от готового инструмента нагрузки в пользу разработки своего, а когда нет
▫️Интересное обсуждение о совмещении ролей ФТ, АТ, НТ на проекте.
▫️Жаркое обсуждение того, как лучше хранить, редактировать и запускать исходный код проекта JMeter, с учетом особенностей:
* в команде несколько человек и удобны Include Controller
* когда удобно собирать свой дистрибутив
* когда удобно использовать maven
* когда неудобно генерировать JMX/XML-файл, а когда можно
▫️Что делать если хочется отрисовать в Grafana более 3400 точек на графике, а не получается
Спасибо, что делитесь опытом!
Пишите в @qa_load, читайте @qaload
Telegram
Alexey Kübler-Ross in QA — Load & Performance
Коллеги, срочный вопрос, мне кажется что наткнулся на пасхалочку в jmeter.
Выполните пожалуйста в фанкшен хэлпере функцию __time(YY,)
Выполните пожалуйста в фанкшен хэлпере функцию __time(YY,)