​​Достаточно известная и функциональная программа для нагрузочного тестировани…

By | 17 сентября, 2021

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

#selfhosted #devops

Поделиться ссылкой