Достаточно известная и функциональная программа для нагрузочного тестирования — k6. Проект open source, можно установить у себя. Если есть желание, покупается по схеме saas в облаке. K6 недавно вошёл в состав Grafana Labs. Так что теперь этот продукт станет суперсовременным и молодёжным. Есть интеграция с InfluxDB и Grafana.
https://k6.io
https://github.com/grafana/k6
Если только подыскиваете себе подобный инструмент, то стоит начать с k6. Ранее я уже описывал тулзы подобного рода: yandex.tank и artillery.io. Аrtillery тоже молодёжный — yaml конфиги, автоматизация и javascript в бэкенде. А у k6 — go, что выглядит привлекательнее, так как быстрее. Сами же тесты на javascript пишутся.
Поставить k6 проще простого. Для rpm и deb based дистрибутивов есть репозитории. А запустить можно и в docker. Готовим docker-compose.yaml:
version: '3.4'services: k6: image: loadimpact/k6:latest command: run /test.js volumes: - ./test.js:/test.js
Пишем простой скрипт для теста. В течении 30 секунд в 10 потоков бомбим https://test.k6.io (не роняйте сайт своей школы или управы района)
import http from 'k6/http';import { sleep } from 'k6';export let options = { vus: 10, duration: '30s',};export default function () { http.get('https://test.k6.io'); sleep(1);}
Запускаем тест:
docker-compose up
Результат увидите тут же в консоли. Все остальные подробности в документации. Она там очень качественная, как и для всех продуктов Grafana Labs.
