# Create a Load Test

URL: https://docs.testvibe.com/load-testing/create-a-load-test

*Create a load test, compare Simple against Advanced, put a whole group of feature tests under load, set concurrent users and repeats, and save it ready to run.*

A load test is configured on its **Configure** tab. Start by choosing the mode — you can switch it on the saved test at any time.

## Choose A Mode

| Mode | What it does | When to use it | **Simple** | Concurrent browser users replay your generated feature tests and time every step. No k6 script involved. | You want realistic, UI-level load and per-step latency — the easiest path. Features need a generated test first. | **Advanced** | Protocol-level k6 load — paths, virtual users, ramp, duration, think time, and threshold gates. TestVibe generates the k6 script. | You want raw HTTP throughput, precise threshold gates, or load against endpoints rather than journeys. 

## Create The Test

1. Select **Load Testing** from the navigation rail.
2. Select **+** (New load test) in the list rail.
3. Pick **Simple** or **Advanced** and configure the sections below.
4. Select **Save** , then **Run** when you are ready.

## Simple Mode Settings

| Setting | What it controls | Features | The generated feature tests the browser users replay. If the list is empty, generate tests first — or switch to Advanced for URL-based load. | Users | How many browser users run concurrently, up to 100. Above 20 users TestVibe automatically spreads the load across multiple cloud machines — you still see one test and one merged result. | Repeats per user | How many times each user replays the features (users × repeats = total feature runs). | Target | Optional URL override; leave empty to use the project's test site at run time. 

Simple runs report per-step latency under load — you see which step of the journey degrades first.

## Advanced Mode Settings

| Setting | What it controls | Target & paths | The URL the virtual users hit and the paths requested each iteration. | Load profile | Virtual users, total duration, ramp-up window, and think time. Users ramp from 0 to the target over the ramp-up, then hold. | Thresholds | k6 pass/fail gates such as `p(95)<1000` on `http_req_duration` or `rate<0.01` on `http_req_failed` . The run fails if any gate fails. | Generated k6 script | A read-only preview of the script TestVibe generated from this configuration. 

Threshold gates apply to Advanced runs only — Simple runs report timings without gating.

## Sizing Guidance

- Start small — 10 users for 60 seconds is enough to validate the configuration end to end.
- Increase users gradually and keep ramp-up at 10–20% of the total duration so the system warms up realistically.
- In Advanced mode, set thresholds from a passing baseline run rather than guessing; tighten them once results are stable.

## Related Help

- [Run a load test and read results](/load-testing/run-a-load-test-and-read-results)
- [Server telemetry](/load-testing/server-telemetry)
- [Generate Playwright code](/ai-generation/generate-playwright-code)
- [Configure site URLs and repository](/workspace/configure-site-url-and-repository)
