Repolode
gatling

gatling/gatling

Open-source load testing tool where you write performance test scenarios as code in Java, Kotlin, Scala, JavaScript or TypeScript.

Open-source alternative to:LoadRunnerJMeter

Stars
6,959
Forks
1,210
Open issues
18
Last commit
yesterday

What is it?

Gatling is a load testing tool that treats tests as code. You write simulations in Java, Kotlin, Scala, JavaScript or TypeScript, run them locally or in CI through Maven, Gradle, sbt or npm plugins, and get an HTML report with response time percentiles, throughput and errors per request. Assertions can fail the build when a response time or error threshold is breached.

Virtual users run on a non-blocking engine built on Netty rather than operating system threads, so a single machine can generate substantial load. The Community Edition under Apache 2.0 supports HTTP/1.1, HTTP/2, WebSocket, Server-Sent Events and JMS without limits. gRPC, MQTT and GraphQL are available under a separate component license with limits of 5 concurrent users and 5-minute tests in the free tier.

The project also ships a recorder that turns browser sessions or HAR files into simulations, feeders for CSV, JSON and databases, and open and closed workload models. A commercial Enterprise Edition adds managed load generators, team collaboration and trend dashboards.

Key features

  • 01Write load test scenarios as code in Java, Kotlin, Scala, JavaScript or TypeScript.
  • 02Run tests from Maven, Gradle, sbt or npm, including in CI pipelines.
  • 03Generate HTML reports with response time percentiles, throughput and errors.
  • 04Fail builds with assertions on response times and error rates.
  • 05Support HTTP/1.1, HTTP/2, WebSocket, Server-Sent Events and JMS in Community Edition.

Use cases

  • Checking API response times before a release and blocking regressions in CI.
  • Simulating thousands of concurrent users against a web service without a large load-generator fleet.
  • Recording a browser session to bootstrap a realistic load test script.
  • Load testing WebSocket or Server-Sent Events endpoints alongside standard HTTP APIs.

Quick start

  1. 1

    Install and run the Maven starter project (put a simulation in src/test/java/example/)

    ./mvnw gatling:test

Things to know

  • gRPC, MQTT and GraphQL use a separate Enterprise Component License and are capped at 5 concurrent users and 5-minute tests in Community Edition.
  • Kafka, AMQP, SFTP, FTP and JDBC rely on community-maintained third-party plugins.

Topics

FAQ

What is gatling?
Open-source load testing tool where you write performance test scenarios as code in Java, Kotlin, Scala, JavaScript or TypeScript. Gatling is a load testing tool that treats tests as code. You write simulations in Java, Kotlin, Scala, JavaScript or TypeScript, run them locally or in CI through Maven, Gradle, sbt or npm plugins, and get an HTML report with response time percentiles, throughput and errors per request. Assertions can fail the build when a response time or error threshold is breached.
Is gatling free to use? What license does it have?
gatling is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is gatling still maintained?
Actively maintained. The last commit to gatling was on Nov 5, 2026.
What can I use gatling for?
Checking API response times before a release and blocking regressions in CI. Simulating thousands of concurrent users against a web service without a large load-generator fleet. Recording a browser session to bootstrap a realistic load test script. Load testing WebSocket or Server-Sent Events endpoints alongside standard HTTP APIs.
How do I install gatling?
Install and run the Maven starter project (put a simulation in src/test/java/example/): ./mvnw gatling:test
Where can I get gatling?
The source code and installation instructions are on GitHub: https://github.com/gatling/gatling

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects