Size: a a a

QA — Load & Performance

2020 November 05

A

Artem in QA — Load & Performance
Kirill Yurkov
тут точно не упретесь в производительность тулы
👍
источник

A

Artem in QA — Load & Performance
спачиб
источник

VP

Vladimir Pozdniakov in QA — Load & Performance
Народ, нужен совет. Поставили задачу провести нагрузочное тестирование.
Архитектура - микросервисы (через Kafka, GraphQl), все кружиться в кубернетес кластере в гугл клауде.
Как вариант пока что выбрал:
- Пушка Gatling
- Мониторинг - Grafana
- Для отслеживания в динамике по сервисам - OpenTelemetry
- Для профилирования результатов - perf (linux) + Flamegraph

Есть сомнения в гатлинге, так как весь проект на typescript, а тут scala. Может посмотреть в сторону k6?
Что еще упустил? Раньше пробовал только монолит, с микросервисами еще не сталкивался.
источник

СФ

Степа Фомичев... in QA — Load & Performance
Как связаны язык, на котором написана система и язык, на котором написан инструмент?
источник

СФ

Степа Фомичев... in QA — Load & Performance
Вам же нужно http тестировать?
источник

VP

Vladimir Pozdniakov in QA — Load & Performance
чисто для удобства написания скриптов
источник

VP

Vladimir Pozdniakov in QA — Load & Performance
автоматизаторы наши тоже на тс пишут тесты, только по этому
источник

СФ

Степа Фомичев... in QA — Load & Performance
Я не силен в гатлинге и в k6, но, насколько я знаю, писать на яп там особо не нужно. @jigarkhwar поправь меня, если все не так
источник

СФ

Степа Фомичев... in QA — Load & Performance
99% работы с инструментами нагрузочного тестирования это работа с их гуи/dsl
источник

СФ

Степа Фомичев... in QA — Load & Performance
Кроме loadrunner, наверное
источник

VP

Vladimir Pozdniakov in QA — Load & Performance
да, я в курсе, что там больше декларативный подход и особых знаний языка не нужно, но всегда возможен вариант, что придется какой-то костылик допилить...
источник

jj

jagga jagga in QA — Load & Performance
В К6 на джава скриптах тесты + их набор команд в дсл
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Vladimir Pozdniakov
Народ, нужен совет. Поставили задачу провести нагрузочное тестирование.
Архитектура - микросервисы (через Kafka, GraphQl), все кружиться в кубернетес кластере в гугл клауде.
Как вариант пока что выбрал:
- Пушка Gatling
- Мониторинг - Grafana
- Для отслеживания в динамике по сервисам - OpenTelemetry
- Для профилирования результатов - perf (linux) + Flamegraph

Есть сомнения в гатлинге, так как весь проект на typescript, а тут scala. Может посмотреть в сторону k6?
Что еще упустил? Раньше пробовал только монолит, с микросервисами еще не сталкивался.
Gatling хорош в сложных точных профилях нагрузки и сложных сценариях. Где запросов много и логика хитрая.
С k6 не работал. Но раньше инструмент выбирал под проект. Если проект был на .NET - выбирал одно, если был на Java - другое, ... Выбор k6 разумен.

Если в тесте много будет работы с json и сериализацией классов в код, сложные объекты надо передавать, хранить. То будет удобно переиспользовать код разработчиков и коллег по тестированию. Тогда я бы выбрал тоже k6. Или хотя бы попробовал.
источник

VP

Vladimir Pozdniakov in QA — Load & Performance
да, тоже так предполагал. В graphQl и правда достаточно много схем и json'ов. Спасибо, гляну еще на к6 поглубже
источник

СЧ

Сергей Чепкасов... in QA — Load & Performance
Vladimir Pozdniakov
да, я в курсе, что там больше декларативный подход и особых знаний языка не нужно, но всегда возможен вариант, что придется какой-то костылик допилить...
привет) свои костыли собираем в библиотеку, может упростить работу:
https://github.com/TinkoffCreditSystems/gatling-picatinny
а начать поможет шаблон проекта gatling, если все же на нем остановишься:
https://github.com/TinkoffCreditSystems/gatling-template.g8
источник

VP

Vladimir Pozdniakov in QA — Load & Performance
спасибо, посмотрю
источник

ИЛ

Ильин Лев in QA — Load & Performance
Товарищи, все продолжаю ковырять jmetr. Такой вопрос, в каком формате надо запилить acesslog?
источник

jj

jagga jagga in QA — Load & Performance
Вячеслав Смирнов
Gatling хорош в сложных точных профилях нагрузки и сложных сценариях. Где запросов много и логика хитрая.
С k6 не работал. Но раньше инструмент выбирал под проект. Если проект был на .NET - выбирал одно, если был на Java - другое, ... Выбор k6 разумен.

Если в тесте много будет работы с json и сериализацией классов в код, сложные объекты надо передавать, хранить. То будет удобно переиспользовать код разработчиков и коллег по тестированию. Тогда я бы выбрал тоже k6. Или хотя бы попробовал.
Последнее утверждение к к6 плохо относится
источник

jj

jagga jagga in QA — Load & Performance
Работа с джсонами там через одно место
источник

YA

Yaroslav Akulenko in QA — Load & Performance
Всем привет.
Нужна ваша помощь.
Для нагрузочного тестирования использую JMeter->InfluxDB->Grafana.
В начале теста формирую ссылку на отчет в Grafana. Но уверен, что тот для кого я ее формирую, в 90% случаев не переходит по ней.
Вот я и подумал, что было бы хорошо рядом с ссылкой указать признак успешности теста (достигли или нет указанной нагрузки).
Но для этого мне нужно знать количество успешных операций в секунду.

В теории есть два варианта но я не знаю, как реализовать:
1) пойти в базу Influx и выполнить там скрипт. Типа, SELECT last("count") / $send_interval FROM "$measurement_name" WHERE ("transaction" =~ /^$transaction$/ AND "statut" = 'ok') AND $timeFilter GROUP BY time($__interval)
2) перехватить сообщение от JMeter-a, которое идет на запись в базу Influx
Для меня 2-й вариант лучше, т.к. не нужно настраивать коннект к базе и выполнять там запрос. Но увы не нашел никакой инфы, как это можно сделать
источник