Код IT
← Каталог

Нагрузочные тесты — минимальный пример k6

Сценарий ramp-up для API: виртуальные пользователи, пороги p95 и error rate.

javascript labexperimentsk6load-testing embed URL статья в энциклопедии
JavaScript main.js
import http from "k6/http";
import { check, sleep } from "k6";

export const options = {
  scenarios: {
    ramp: {
      executor: "ramping-vus",
      startVUs: 10,
      stages: [
        { duration: "2m", target: 50 },
        { duration: "2m", target: 100 },
        { duration: "2m", target: 200 },
        { duration: "1m", target: 0 }
      ]
    }
  },
  thresholds: {
    http_req_failed: ["rate<0.01"],
    http_req_duration: ["p(95)<300"]
  }
};

export default function () {
  const res = http.get("https://example.com/api/health");
  check(res, { "status is 200": (r) => r.status === 200 });
  sleep(1);
}
import http from "k6/http";
import { check, sleep } from "k6";

export const options = {
  scenarios: {
    ramp: {
      executor: "ramping-vus",
      startVUs: 10,
      stages: [
        { duration: "2m", target: 50 },
        { duration: "2m", target: 100 },
        { duration: "2m", target: 200 },
        { duration: "1m", target: 0 }
      ]
    }
  },
  thresholds: {
    http_req_failed: ["rate<0.01"],
    http_req_duration: ["p(95)<300"]
  }
};

export default function () {
  const res = http.get("https://example.com/api/health");
  check(res, { "status is 200": (r) => r.status === 200 });
  sleep(1);
}