Народ, нужен совет. Поставили задачу провести нагрузочное тестирование.
Архитектура - микросервисы (через Kafka, GraphQl), все кружиться в кубернетес кластере в гугл клауде.
Как вариант пока что выбрал:
- Пушка Gatling
- Мониторинг - Grafana
- Для отслеживания в динамике по сервисам - OpenTelemetry
- Для профилирования результатов - perf (linux) + Flamegraph
Есть сомнения в гатлинге, так как весь проект на typescript, а тут scala. Может посмотреть в сторону k6?
Что еще упустил? Раньше пробовал только монолит, с микросервисами еще не сталкивался.
Gatling хорош в сложных точных профилях нагрузки и сложных сценариях. Где запросов много и логика хитрая.
С k6 не работал. Но раньше инструмент выбирал под проект. Если проект был на .NET - выбирал одно, если был на Java - другое, ... Выбор k6 разумен.
Если в тесте много будет работы с json и сериализацией классов в код, сложные объекты надо передавать, хранить. То будет удобно переиспользовать код разработчиков и коллег по тестированию. Тогда я бы выбрал тоже k6. Или хотя бы попробовал.