Пишешь тест на JS, запускаешь – получаешь метрики: отклик, ошибки, нагрузку. Можно даже в Grafana вывести.
Пример теста:
import http from 'k6/http';
import { check } from 'k6';
// Настройки нагрузки:
// 1. 50 пользователей за 30 сек
// 2. Держим 100 пользователей минуту
// 3. Плавно сбрасываем
export let options = {
stages: [
{ duration: '30s', target: 50 },
{ duration: '1m', target: 100 },
{ duration: '20s', target: 0 },
],
};
// Сам тест: дергаем API и проверяем, что отвечает 200
export default function () {
let res = http.get('https://api.example.com/data');
check(res, { 'Status 200': (r) => r.status == 200 });
}
Запуск:
k6 run test.js
(Тестировал – работает) 🚀
#k6 #loadtesting #perftesting