How to use Performance Test Data Generator
- List the endpoints and their traffic share, one per line (e.g. "GET /api/products 45").
- Set virtual users, duration and ramp-up, then the think-time range and distribution.
- Optionally define the payload size range and a seed for reproducible samples.
- Click "Generate" to get the model, charts and tool-ready snippets.
- Paste the k6 options into your script or apply the JMeter values in the GUI.
Performance Test Data Generator features
- Request mix from simple "METHOD /path weight" lines, normalised to 100%
- Think-time samples from uniform, normal, exponential or constant distributions
- Ramp profile (ramp-up, steady state, ramp-down) sized from users and duration
- Throughput and total-request estimates for capacity planning
- k6 options snippet with stages, weighted endpoint picker and think-time function
- JMeter mapping (Thread Group, Throughput Controllers, timers) and a JSON scenario export
Performance Test Data Generator example
E-commerce browse-heavy workload
Input:
GET /api/products 45
GET /api/products/{id} 25
POST /api/cart 15
POST /api/checkout 5
GET /api/account 10
Users: 50 · Duration: 300 s · Ramp-up: 60 s · Think: 500–3000 ms normalOutput:
Est. throughput: 25.6 req/s · Est. total requests: 6,900
Request mix: products 45% (3,105) · product detail 25% (1,725) · cart 15% (1,035) · checkout 5% (345) · account 10% (690)
Ramp profile: 0–60 s ramp-up to 50 · 60–300 s steady · 30 s ramp-downFrequently asked questions about Performance Test Data Generator
What is a request mix?
The share of traffic each endpoint receives, e.g. 60% product listing, 25% product detail, 15% checkout. Weights are normalised to 100% and translated into k6 selection code and JMeter Throughput Controllers.
Which think-time distributions are supported?
Uniform, normal (bell curve around the midpoint), exponential (many short pauses, few long ones) and constant. Real users are closest to normal or exponential.
How is throughput estimated?
Each virtual user issues one request per (think time + ~200 ms service time). Multiply by users to get steady-state requests per second; treat it as a planning figure.
What does the ramp profile contain?
Ramp-up, steady state and ramp-down stages with durations and target users, exported as k6 stages and JMeter thread group settings.
Can I export the model?
Yes — the JSON scenario contains the mix, stages, think-time samples and payload sizes so you can feed it into your own harness.
Technical notes
Throughput assumes a closed workload model: each virtual user waits for a response (~200 ms assumed), pauses for the think time, and repeats. The estimate is intentionally simple — replace the service time with your measured p50 for a tighter number.
Normal think times are sampled with the Box–Muller transform around the midpoint with a standard deviation of a quarter of the range; exponential samples use the midpoint as the mean and are clamped to three times the maximum.