📢 Load & Performance
886 subscribers
32 photos
3 files
98 links
Избранные материалы о тестировании производительности.
Чат и источник тем: @qa_load
Download Telegram
#дайджест сообщений чата @qa_load

🔺Каким простым инструментом можно подать 150 RPS? ab, k6, wrk, gatling, siege. Я бы и JMeter посмотрел, чтобы не гадать, как анализировать отчёт новой утилиты

🔺 Как для Yandex.Tank заполнить параметр pandora_cmd, если бинарник pandora находится в корне проекта Вопрос без ответа. Я бы указал полный путь

🔺Как на языке #flux для InfluxDB сделать выборку количества потоков для JMeter и обсуждение самого языка. А выборе между argegateWindow с гибким aggregation_interval и сырыми данными предпочтение у аггрегации, так как Grafana все равно не может отображает на графике больше точек, чем ширина экрана и не отображает время с точностью выше секунды

🔺Как в #Grafana не отображать на графике точки со значением больше Y_max при выборке из InfluxDB. Был предложен вариант решения на #flux с промежуточной переменной, в которую сохраняется перцентиль от данных и по нему выполняется фильтрация. Был выбран вариант решения с помощью средств Grafana, исходники которой были изменены 🧐 чтобы поле Y-max оси Y поддерживало переменные

🔹 Ценное замечание по запуску распределенного теста с JMeter, master и агенты должны быть в одной сети.

🔹 Ошибки при открытии jmx-файла, сделанного с нестандартными плагинами JMeter в новом JMeter без плагинов. Такие ошибки - норма. Чтобы их не было можно:
- использовать плагины только с сайта jmeter-plugins.org, тогда их можно будет установить автоматики при открытии JMeter GUI предварительно установив менеджер плагинов;
- хранить архив JMeter со всеми плагинами;
- или использовать jmeter maven plugin и хранить вместе с jmx-файлом pom.xml с описанием нужных зависимостей.

🔹 Запрос, записанный через JMeter Script Recorder, не работает в сценарии, почему так может быть (плюс второе обсуждение на эту же тему):
▫️ код 403: не добавлен HTTP Cookie Manager;
▫️ код 403: нужна аутентификация, ее также надо добавить в сценарии;
▫️ код 403: при записи процесса аутентификации по паролю, пароль записался как ****** или остался пустым, вместо корректного текста пароля;
▫️ код 403: для запроса используется CSRF-токен, который нужно скоррелировать;
▫️ код 500, а иногда 200: запрос нельзя выполнить по другим причинам, например, нельзя удалить объект А, потому что объект Б ссылается на А.

🔹Warning в логе JMeter про NullPointerException - влияет на список последних открытых проектов, появилось в версии 5.4

🔹Консольный запуск JMeter не выполняет запросы, выводит в консоль: summary = 0 in 00:00:00 = ******/s Avg:0 Min: 9223372036854775807 Max: -9223372036854775808 Err:0 (0.00%). Причина была в том, что скрипт не находил файлы для CSV Dataset Config, расположенные в сетевом каталоге, который монтировался, вероятно, при интерактивной RDP-сессии

🔹Как в конфигурационном файле #InfluxDB настроить templates для #Graphite Endpoint, чтобы можно было передавать в influxdb три поля: Group, Controller, Request. Можно сделать template на три значения *.*.* а соответствующие теги назвать group.controller.request. Также был предложен вариант не разделять поля на три - оставить одно поле, в котором будут все три значения разделенные пробелом, и использовать регулярные выражения для фильтрации

🔺Вопрос по отправке запросов в сервис внутри #Kubernetes. Я бы также обратил внимание на статью Exposing an External IP Address to Access an Application in a Cluster

🔸Вопрос по JMESpath в Gatling, как получить первый элемент выборки. Ответ получился как в примере

🔸Как задать javaOptions для Gatling через build.sbt

🔹Вопрос по тестированию #WebSocket на .NETCore (#SignalR) с JMeter. В обсуждении обратили внимание на особый символ-разделитель сообщений, который можно задать лишь через функцию __char

🔹Как в JMeter 5.3+ выключить подсветку кода? Ответ - перейти на тему Windows

📣Конференция по тестированию Heisenbug ищет спикеров!
🔹Почему "User-Defined Cookies" в HTTP Cookie Manager не перетирается при получении ответа от сервера с заголовком Set Cookie, а приводит к появлению двух Cookie (дублирование)? Проблему получилось обойти задав Path для "User-Defined Cookies" не / а более строгий: /co/authenticate

🔹Тестирование потокового видео #WebRTC с JMeter. Посоветовали использовать HLSPlugin и KITE

🔸Gatling OSS может выполнять распределенный тест и Gatling Frontline тоже. Отличие в том, что для Gatling OSS из коробки не поставляется Grafana Dashboard, который отображает результаты распределенного теста, а для Frontline такая отчетность есть. Если k6 (open source версию) получится запустить распределённо, то денег также не потребуют.

🔺Нужно ли загружать статику (шрифты, js, css, картинки) при записи скрипта? Мнения (-) разделились (+): обсуждение очень интересное. Усредненный ответ - да нужно, важно правильно подобрать пропорцию. А в обсуждении отмечено, что если понятие юзер заменить понятием бизнес-сценарий, который состоит из операций, то становится проще. И допустим сценарий, где у пользователя вся статика берется из кеша браузера - запрашивать ее не надо, а есть сценарий, где она скачивается. У сценариев может быть разная интенсивность.

🔹Если в сценарии нужно выполнить три операции с разными интенсивностями 20 RPS, 30 RPS и 40 RPS, то как это сделать?
▫️Для независимых операций - сделать три отдельные Thread Group.
▫️Для зависимых - нужно будет или настроить передачу данных между Thread Group
▫️... или объединить операции в одну Thread Group и использовать Throughput Controller - будет базовая интенсивность 40 RPS, но первая операция будет выполняться с вероятностью 20/40, а вторая 30/40.

Что почитать про мониторинг #OpenShift? Вопрос пока без ответа

🔹Запуск JMeter в #Kubernetes - лучше выделить для нагрузочных станций отдельное пространство с taint.

🔺Как управлять нагрузкой на N сервисов? Написать N простых сценариев лучше, чем написать один, но сложный

🔸Вопрос по настройке Monitoring Plugin для Yandex.Tank. Остался без ответа. Описан в документации

🔸Для подачи нагрузки на IBM.MQ в Gatling нужен JMS Plugin

🔸В Gatling нет консольного графика с количеством пользователей, есть только консольный прогресс выполнения

🔹Как задать Working Directory в JMeter? Думаю так: cd /tmp ; /opt/jmeter/bin/jmeter ... - вот тут рабочим каталогом будет /tmp
🔹При работе с Simple Data Writer удобно задать jmeter.save.saveservice.base_prefix = ./ вместо ~/

... пока все, а то что-то очень много сообщений

Это был #дайджест обсуждений в чате @qa_load
Всем привет!
Материалы доклада по мониторингу JVM:
https://polarnik.github.io/JVM-performance-monitoring

Рассказывал про:
- технологии мониторинга
- агенты #jolokia и #jmx_exporter
- JMX/RMI и #JSR-160
- утилиту #jmc
- составление конфигов
- накладные расходы на мониторинг

Материал готовился для митапа Neat Talk 11
Приветствую вас, дорогие любители высоких нагрузок!

Мы определились с датами, платформой и темой первого мероприятия в свободной форме.

По результатам голосования - победила тема "Построение тестирования производительности с нуля".

По данной теме мы расскажем:
- Необходимость тестирования производительности на проекте
- Как стартануть проект в продуктовой/аутсорс команде
- Интеграция проекта в процесс рабработки и взаимодействие между участниками проекта
- Какие инструменты использовать
- Конечная точка развития тестирования производительности на проекте

Наши Спикеры:
- Смирнов Вячеслав. Исследователь артефактов НТ из банка ВТБ.
- Кирилл Юрков. Выстраивает НТ с нуля в компании "Самокат".
- Степан Фомичев. Работал перфоманс инженером в аутсорс компании, на данный момент разрабатывает инстурмент НТ Boomq.
- Рогожников Максим. Отвечает за внедрение тестирования производительности в команды разработки продуктов Tinkoff.ru
- Ахальцев Иоанн. Make Performance Great Again, разработка инструмента тестирования производительности Tinkoff Cosmos.

Рассмотрим связанные с темой вопросы из чата:
- Сервисный и продуктовый подход в тестировании производительности
- Обязанности перформанс инженера
- Зоны росты
и многие другие

Обсуждение произойдёт прямо в этом чате 25.03.2021 в 19:00 при помощи нового обновления Telegram и Голосовых чатов 2.0.
Обязательно проверьте, что вы обновили клиенты Telegram, котроый поддерживают новые Голосовые чаты. (Апдейты после 19 марта).

Следите за нашими анонсами!
Запись с диалога. Поговорили о том как разворачивать НТ с нуля и не только.
Тестирование производительности с 0-ля (25 марта 2021 года)
QA — Load & Performance
1:56 знакомство
5:10 отличия аутсорса, аутстаффа и продуктовой разработки
18:27 почему аутстафф а не найм
22:35 НТ можно внедрить в планирование релизов
25:15 НТ тянет за собой культуру разработки вообще
26:35 о заинтересованности в НТ
29:00 об обосновании необходимости и возможности НТ
34:40 связи автоматизации АТ и НТ
36:42 принципы и инструменты НТ
46:24 с чего начать тестирование
59:37 как оценить успешность нагрузки
1:02:42 как быть с методикой
1:05:40 как интегрировать НТ в разработку
1:14:55 долгое НТ стоит выносить в отдельный пайплайн
1:17:30 о тестировании с помощью микробенчмарков
1:20:55 конечная точка развития НТ
1:22:10 об автоматизации построения отчётов
1:29:02 о более тесном взаимодействии с продуктом
1:30:34 рутина автоматизирована
1:32:40 вопросы чата
1:32:47 опыт и советы насчёт НТ микросервисов
1:38:16 как автоматизировать отчёт
1:40:10 ещё раз про тестирование микросервисов
1:40:50 ещё раз, во что развивать НТ
1:44:15 о тестировании на проде
1:46:04 о развитии НТ в проекте и НТ инженеров
Forwarded from Valeria K.
Коллеги, в следующий вторник Илья Космодемьянский и Андрей Сальников из dataegret.ru будут беседовать в голосовом чате с Алексеем Ваховым, техническим директором UCHi.RU о том, как обеспечить стабильность работы баз данных при активной разработке и о том что происходило в компании когда в Апреле прошлого года количество пользователей платформы, одновременно находящихся на сайте, возросло от 30 000 до 240 000.

Планируется интерактивная сессия в формате посиделок, с вопросами из “зала”. Будем рады ответить на вопросы и послушать ваши истории об организации работы с опенсорсом. Присоединяйтесь! bit.ly/DataEgret_chat
30 марта в 19:00 МСК
Материалы доклада "Мониторинг производительности JVM"
Смирнов Вячеслав, ВТБ

Готовилось для Neat Talks 11 (18.03.2021)
Видео: https://youtu.be/31XdtPJ_v5Y?t=3205
Слайды: https://polarnik.github.io/JVM-performance-monitoring/
Если какой-то слайд не отображается, обновите страницу, это HTML-документ
Слайды одним pdf-документом: https://drive.google.com/file/d/1PMisWJ_DkEjRn0V6JDFjbAOfR4qs0l1M/view?usp=sharing
Анонс!
Многие помнят, что чуть больше месяца назад мы записывали здесь пробный выпуск "подкаста" по теме "Построение НТ с нуля" (его можно найти здесь https://t.me/qa_load/45851).
Мы собрали фидбэк, постарались его учесть и готовим следующий выпуск после майских праздников (дата будет уточняться), на тему "Рынок НТ, вакансии и требования".
Чтобы сделать выпуск более живым и актуальным, предлагаем вам, как и в прошлый раз, накидать вопросов в секцию Q/A
(а если еще не голосовали за темы, то и там можно выбрать варианты) https://app.sli.do/event/kam0un2a/live/polls.
https://dump-ekb.ru/testing-qa
14 мая @gim6626 (Дмитрий Винокуров, Miro) будет выступать на конференции DUMP в Екатеринбурге
с темой:
Путь от одного человека до распределённой команды нагрузочного тестирования

А @ant_nch (Антон Нечеухин, Miro) с темой
Структура QA в крупной компании
который ранее выступал на DUMP с темой
Достоверный нагрузочный тест c учетом непредвиденных нюансов
https://youtu.be/oNdVWREIfoY

Темы интересные
Билет на Online-трансляцию стоит 3500 рублей
💥Анонсируем второй выпуск подкаста, теперь темой обсуждения будет "Рынок НТ, от вакансий до собеседований".

На повестке:
- обсудим разницы грейдов,
- поговорим о зарплатах,
- расскажем как сами проводим собеседования
- а еще о жизни нагрузочника вне финтеха и многое другое

Постараемся пригласить коллег от HR и в конце бонусом проведем пробное собеседование рандомному желающему из чата (если такие будут).

Дата подкаста - 19.05.21. Точное время анонсируем используя новый функционал телеграмма - "отложенные войс чаты", в верхней части чата появится временная мета до начала подкаста. Сделаем это заранее, так что не пропустите :)

Формат - как и в прошлый раз войс чат телеграмма, запись выложим.

Ждем всех!
Подкаст запущен! Присоединяйтесь
Рынок НТ от вакансий до собеседований
QA — Load & Performance
Запись сегодняшнего подкаста. Будем рады любому фидбеку. Временные метки постараемся внести в ближайшее время - они появятся в этом сообщении. Всем классных вакансий 🎧
Друзья!

Приглашаем вас на 7-ю ежегодную конференцию по нагрузочному тестированию, которая состоится 16 сентября 2021 года в Москве (оффлайн и онлайн форматы).

Кому будет интересно:
- инженеру в области нагрузочного тестирования,
- разработчику высокопроизводительных приложений,
- руководителю ИТ-департамента,
- менеджеру ИТ-проектов;

Что вы узнаете:
- как решать проблемы высокопроизводительных систем,
- оригинальные технологические подходы к процессу тестирования производительности ИТ-систем,
- новые методики и свежие идеи для повышения отказоустойчивости ИТ-систем,
- успешные практические советы и кейсы,
- современные технологии и новые тенденции нагрузочного тестирования,
- последние новости из этой области от профессионалов и лидеров рынка тестирования,

Регистрируйтесь, мы ждем вас http://perfconf.ru/
Конференция по тестированию Heisenbug ищет спикеров 🔥

Вам есть о чем рассказать и что обсудить с коллегами по цеху? Тогда вам нужно подать заявку на участие в конференции! Осенний Heisenbug пройдет в гибридном формате: онлайн+офлайн.

Темы, которые будут интересны:
✔️Функциональное тестирование;
✔️Нагрузочное тестирование;
✔️SDET;
✔️DevOps в тестировании.

Но не ограничивайте себя этим списком — вы можете подать заявку с любой темой из области тестирования. 

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

👉 Подать заявку и узнать подробности можно на сайте.
Вопросы присылайте на почту program@heisenbug.ru
Материалы доклада
Профилирование #JVM в #Kubernetes

https://heisenbug-piter.ru/2021/spb/talks/7xxou7lmwvn6xnfrx4atnd/
Слайды доступны на странице доклада.
Или так: https://polarnik.github.io/JVM-profiling-in-Kubernetes/

В тему доклада было обсуждение в подкасте Битовая каска (29 апр. 2021 г):
Профилирование приложений: https://youtu.be/hUW7-pTOlaI
Всем привет! Есть новости для тех, кто раздумывает посетить конференцию по нагрузке в Москве, 16 сентября этого года.

Начну с хорошей. Для участников сообщества скидка на билеты будет 50%. Надо быть физическим лицом, и ввести промокод
50% от 12 000 = 6 000 рублей за offline билет

Таких промокодов пока 10 только, поэтому если
▫️16 сентября будет свободное время
▫️и будет возможность быть в Москве
▫️и есть 6000 рублей на билет
то пройдите опрос ниже.

В понедельник раздадим промокоды среди тех, что выбрал вариант "Мне будет нужен промокод на скидку"

+1 к дипломатии, +10 к потенциальным участникам
ссылка на голосование:
https://t.me/qa_load/55797

Ссылка на саму конфу:
https://perfconf.ru/
Forwarded from Venera Kasimova
Доброе утро! Сегодня и завтра 8-9 июля пройдет PG Day'21 Russia. Участие бесплатное. Начало в 10:00 МСК, трансляцию можно посмотреть на YouTube. Для общения со спикерами и другими участниками подключайтесь к Slack каналу конференции.
Forwarded from Viktor Ganeles
Коллеги, предлагаю наш вариант модуля, упрощающего работу со "СЦЕНАРИЯМИ" тестов Jmeter.

Чем он хорош:
При запуске теста достаточно указать параметры ступеней вашего теста в процентах профиля:
- Начни с нагрузки в 100%, потом шагай ступеньками по 10%

А параметры, нужные для подачи нагрузки по ВСЕМ операциям, входящим в сценарий, будут рассчитаны автоматически.
Так как в сценарии обычно много тред-групп (работающих с разной интенсивностью), настройки каждой тред-группы могут отличаться.
С нашим модулем изменять настройки КАЖДОЙ тредгруппы больше не потребуется.


Подробное описание по ссылке:
https://github.com/ganeles/JmeterSmartScenario
@gim6626 написал на Хабре большую статью (почти методичку) о личном опыте и опыте Miro в развитии направления нагрузочного тестирования - https://habr.com/ru/company/miro/blog/573338/. Основное внимание уделено именно общей методологии НТ, а не техническим деталям отдельных инструментов. Статья будет полезна в первую очередь новичкам, так как там пошагово расписаны все этапы от формулировки требований до составления отчёта с приведением конкретных примеров из практики компании, в том числе по автоматизации. Опытным инженерам статья тоже может быть интересна как пример того, как устроено НТ в другой компании.