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 Concurrent Request Test Generator
- Enter the target URL (a staging or test environment you are authorised to load), method, headers and body.
- Set virtual users, duration, ramp-up, think time and the p95/error-rate thresholds.
- Choose a tool (or "All five") and click "Generate".
- Download the script with the correct extension and run it with the printed command.
- Review the exit code in CI: the k6, Locust, Artillery and Node.js scripts exit non-zero when a threshold is breached; for JMeter, check the failed samples in the report.
Concurrent Request Test Generator features
- k6, JMeter JMX, Locust, Artillery and Node.js scripts from one form
- Ramp-up and steady-state load (the k6 script also adds a 5 s ramp-down) with virtual-user and duration caps
- Thresholds baked in: in the k6, Locust, Artillery and Node.js scripts a p95 latency budget and a maximum error rate fail the run; the JMeter plan checks each sample against the latency budget
- Timeouts, think time, custom headers and JSON bodies
- Optional CSV feeder wiring for k6, JMeter, Locust and Artillery
- Run commands and a configuration summary; nothing is sent to the target
Concurrent Request Test Generator example
k6 script for an orders endpoint
Input:
POST https://staging.example.com/api/orders
20 VUs · 60 s · 15 s ramp-up · p95 < 500 ms · errors < 1%Output:
export const options = {
stages: [
{ duration: '15s', target: 20 }, // ramp-up
{ duration: '45s', target: 20 }, // steady state
{ duration: '5s', target: 0 }, // ramp-down
],
thresholds: {
http_req_duration: ['p(95)<500'],
http_req_failed: ['rate<0.01'],
},
};- k6 stages of the exampleThresholds in the script:
p(95)<500andrate<0.01- 1ramp-up 0–15 sto 20 virtual users
- 2steady state 15–60 sholds 20
- 3ramp-down 60–65 sto 0
The JMeter, Locust, Artillery and Node.js scripts have no ramp-down stage.
Frequently asked questions about Concurrent Request Test Generator
Which tools are supported?
k6 (JavaScript), JMeter (a complete JMX test plan with thread group, HTTP sampler, header manager, assertions and timer), Locust (Python), Artillery (YAML) and a dependency-free Node.js script.
What safe defaults are built in?
Virtual users are capped at 500 and duration at one hour; every script has a 30 s request timeout, ramp-up and think time. The k6, Locust, Artillery and Node.js scripts also carry p95 and error-rate thresholds that fail the run in CI; the JMeter plan marks each sample slower than the p95 budget as failed but has no run-level threshold.
Can the scripts read a CSV feeder?
Yes. Enter a CSV file name and the k6, JMeter, Locust and Artillery scripts include the loader; generate the file with the Load Test Data Generator.
Are my URL and headers sent anywhere?
No. Scripts are generated locally in your browser. Review headers before committing them — never store real credentials in a script.
Is it legal to load test any site?
Only test systems you own or have written permission to test. The scripts are built for staging and pre-production environments.
Technical notes
The JMX output is a complete JMeter 5.6 test plan: TestPlan with user-defined variables, a ThreadGroup with scheduler and ramp time, an HTTPSamplerProxy with the parsed host/port/path, a HeaderManager, Duration and Response assertions, a ConstantTimer for think time and a Summary Report listener. Special characters in headers and bodies are XML-escaped.
Caps (500 virtual users, one hour) and warnings about production-looking host names are deliberate guard rails; larger tests should be planned, approved and run from distributed generators.
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.