import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 100,
duration: '2m',
};
export default function () {
const res = http.get('https://api.example.com/users');
check(res, {
'status is 200': (r) => r.status === 200,
'response time < 500ms': (r) => r.timings.duration < 500,
});
sleep(1);
}Any publicly accessible HTTP/HTTPS endpoint — REST APIs, GraphQL, WebSockets, and gRPC services. You can test internal APIs too if they're reachable from our global load zones.
The free tier supports up to 200 virtual users. Each virtual user sends requests in a loop, so 200 VUs can generate thousands of requests per second depending on your API's response time.
Yes. k6 scripts support custom headers, cookies, OAuth tokens, API keys, and session management. You have full control over the request lifecycle.
Benchmark your REST API performance with precise p50, p95, p99 latency metrics. Compare endpoints and track regressions over time.
Load test your GraphQL API with realistic queries and mutations. Measure resolver performance and find N+1 query bottlenecks.
Load test WebSocket servers with hundreds of concurrent connections. Validate message throughput, latency, and connection stability.