Test any HTTP endpoint under load
HTTP Load Testing
Send thousands of HTTP requests to any endpoint and measure response times, throughput, and error rates. Full support for all HTTP methods, custom headers, cookies, and request bodies.
All HTTP methods: GET, POST, PUT, DELETE, PATCH
Custom headers, cookies, and authentication
JSON, form-data, and binary payloads
Response validation with checks
Configurable think time between requests
Live per-second charts for every run
http-test.js
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = { vus: 50, duration: '3m' };
const BASE_URL = 'https://api.example.com';
export default function () {
// GET request
const list = http.get(`${BASE_URL}/items`);
check(list, { 'list ok': (r) => r.status === 200 });
// POST request with JSON body
const created = http.post(`${BASE_URL}/items`,
JSON.stringify({ name: 'Test Item' }),
{ headers: { 'Content-Type': 'application/json' } }
);
check(created, { 'created': (r) => r.status === 201 });
sleep(1);
}Frequently asked questions
Related guides
Run this as a plan
Put the scenario in your app's Config/load-plan.json and run it from the narduk-app CLI.