What is performance testing?
Performance testing measures how a system behaves under a defined workload: response time (usually the 95th percentile, not the average), throughput (requests per second) and error rate, while watching CPU, memory and database saturation. Load testing uses the expected traffic, stress testing pushes past it to find the breaking point, soak testing holds it for hours to expose leaks, and spike testing checks recovery from a sudden surge.
Read the guide: What is Performance Testing?
How to use Load Test Data Generator
- Describe one column per line, e.g. "username:username", "amount:amount:5-500", "plan:pick:free|pro".
- Choose the number of rows, the target tool and a file name; add a seed for reproducible data.
- Click "Generate" and review the preview table.
- Copy the loader snippet into your script and download the feeder file next to it.
Load Test Data Generator features
- Column DSL: name:type[:options] with 20 generator types (sequence, uuid, username, token, amount ranges, pick lists…)
- Up to 20,000 unique rows, reproducible with a seed
- Formats for k6 (JSON + SharedArray), JMeter (CSV Data Set Config), Gatling and Locust feeders, plus plain CSV/JSON
- Loader snippet generated for the selected tool
- Preview table and dataset statistics before download
- Synthetic values only — example.com emails, 555 phone numbers, fictional names
Load Test Data Generator example
k6 feeder with credentials and plans
Input:
username:username
password:password:12
plan:pick:free|pro|enterprise
Rows: 3 · Format: k6 · Seed: demoOutput:
[
{ "username": "layla0001", "password": "Pw!k3Qz9…", "plan": "pro" },
{ "username": "omar0002", "password": "Pw!Ab7Xc…", "plan": "free" },
{ "username": "noor0003", "password": "Pw!Zt2Lm…", "plan": "enterprise" }
]
const users = new SharedArray('users', () => JSON.parse(open('./users.json')));Frequently asked questions about Load Test Data Generator
Which column types are available?
sequence, uuid, username, password, email, first/last/full name, token, int and float ranges, amount, boolean, date, datetime, phone, pick (a|b|c), string, json and constant.
How do I get the same data twice?
Set a seed. The generator uses a deterministic PRNG, so the same columns, row count and seed always produce the same rows — handy for reproducible test runs.
Which format should I pick for my tool?
k6 gets JSON plus a SharedArray snippet; JMeter, Gatling and Locust get CSV with the matching loader snippet; CSV/JSON are generic.
Is the data safe to use?
Everything is synthetic: names come from a fixed list with obviously fake surnames, emails use example.com and phone numbers use the reserved 555 range.
How many rows can I generate?
Up to 20,000 rows in the browser. For millions of rows, generate a seed-based dataset on the load generator itself.
Technical notes
Rows are produced by a seeded mulberry32 PRNG shared with the other test-data tools, so a seed yields identical output across sessions and machines. Without a seed the tool uses fresh randomness on every run and "Regenerate".
Usernames combine a fictional first name with a zero-padded index and are de-duplicated; sequence columns count up from the start value so every row has a unique identifier for correlation in results.
References
- Apache JMeter User's ManualHow to build, parameterise and run load tests with JMeter, and how to read its listeners and reports.
- Release It! Second Edition: Design and Deploy Production-Ready Software (Michael T. Nygard)Stability patterns — timeouts, circuit breakers, bulkheads, back-pressure — and the failure modes load testing is meant to find.
- Site Reliability Engineering: How Google Runs Production SystemsService level objectives, error budgets, monitoring the "four golden signals" and handling overload — the operational side of resilience.