Пример скрипта на js для k6:
import http, { head } from 'k6/http';
import { check, sleep } from 'k6';
const BASE_URL = ""
const headers = {
'Header': 'value',
'Header': 'value'
}
export let options = {
vus: 2, // пользователи
duration: '1m', // время выполнения
thresholds: {
'http_reqs': ['rate>=1000'], // RPS
},
};
function checkResponseStatus(response, expectedStatus) {
check(response, {
[`is status ${expectedStatus}`]: (r) => r.status === expectedStatus,
});
}
function one() {
let url = `${BASE_URL}/ep1`
let response = http.get(url, { headers: headers});
checkResponseStatus(response, 200);
sleep(1);
}
function two() {
let url = `${BASE_URL}/ep2`
let response = http.get(url, { headers: headers});
checkResponseStatus(response, 200);
sleep(1);
}
export default function () {
one();
two();
}Тут нужно добавить BASE_URL и headers, если они нужны. Само собой поправить endpoints. Пример базовый, но подойдет для большинства тестов конкретного приложения.
vus - количество пользователей.
duration - продолжительность выполнения.
thresholds - в данном случае количество RPS при достижении которого тест считается успешным.
Установить k6s на ubuntu 22.04 можно так:
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
Запуск:
k6 run load.js
#k6