Достаточно известная и функциональная программа для нагрузочного тестирования — 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.