Skip to content

Test engines — Taurus, JMeter, and k6

Maxoperf runs your tests with one of three open-source test engines: Taurus, JMeter, or k6. The engine is inferred from the test files you upload, so you usually do not need to choose explicitly — but knowing the differences helps you pick what to bring in for new tests.

Uploading a test's entrypoint file on the New test form is all it takes — MaxoPerf infers Taurus, JMeter, or k6 from the file itself.

Taurus is a YAML-driven test framework that wraps other engines (including JMeter and k6). It is the most common choice for new MaxoPerf tests because the YAML format is short, readable, and easy to review in code review.

Pick Taurus when:

  • You are starting fresh and want concise, declarative scenarios.
  • You want to mix HTTP, GraphQL, and other protocols in one config.
  • You want a single file that engineers from any background can read.

Apache JMeter is the long-established Java load-testing engine. It uses .jmx scenario files and ships with a large library of plugins.

Pick JMeter when:

  • Your team already maintains .jmx scenarios you do not want to rewrite.
  • You need a specific JMeter plugin or sampler.
  • You rely on JMeter’s thread-group model for fine-grained concurrency.

k6 is a JavaScript-based load-testing engine. Tests are written as ES modules with a small, ergonomic API.

Pick k6 when:

  • Your team prefers writing tests in JavaScript or TypeScript.
  • You want to share code with your existing client SDKs or test helpers.
  • You want fast iteration on scripted user journeys.
You uploadMaxoPerf runs it as
*.yml or *.yaml Taurus configTaurus
*.jmx JMeter scenarioJMeter (via Taurus)
*.js or *.ts k6 scriptk6 (via Taurus)

Each test has one entrypoint file that decides which engine runs. Supporting files (CSV data, included scripts, modules) are uploaded alongside it. See Upload test files.

The Files tab marks which uploaded file is the entrypoint and which are supporting assets, with validation status per file.

A single project can hold tests that use different engines. A single test cannot — pick one engine per test. If you need to combine scenarios from multiple engines into one execution, see Scenarios and VarioTest.