Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/gatling/gatling.io-doc/llms.txt

Use this file to discover all available pages before exploring further.

Gatling is a high-performance load testing tool built for efficiency, automation, and code-driven testing workflows. Test scenarios are defined as code using expressive SDKs for Java, Kotlin, Scala, JavaScript, or TypeScript — making them easy to read, version-control, and maintain as a first-class part of your development workflow. Because simulations live alongside your source code, they participate naturally in code review, CI pipelines, and team collaboration processes. Gatling’s architecture is fully asynchronous. Virtual users are modeled as lightweight messages rather than OS threads, so a single machine can simulate thousands of concurrent users with minimal CPU and memory overhead — exactly what modern, high-scale applications demand. The engine is also protocol-agnostic: HTTP is supported out of the box and ships with production-ready features including keep-alive, connection pools, redirects, cookies, and caching. JMS support is included, and the engine can be extended to cover additional protocols.

Asynchronous by Design

Traditional load testing tools model each virtual user as an OS thread. At a few thousand users, thread-per-user tools exhaust system resources. Gatling’s event-driven core handles all virtual users on a compact thread pool, eliminating that ceiling and keeping hardware costs predictable.

Quickstart

Get from zero to a running simulation in under five minutes with Maven or npm.

Tutorials

Step-by-step guides covering installation, your first simulation, low-code, and no-code workflows.

Scripting Reference

Complete SDK reference for HTTP, JMS, scenarios, feeders, checks, assertions, and injection profiles.

Gatling Enterprise

Distributed load generation, real-time dashboards, CI/CD integration, and advanced team management.

Supported Protocols

Gatling ships with mature protocol support and an extensible plugin model for anything else.
ProtocolAvailability
HTTP / HTTPSCommunity & Enterprise
WebSocketCommunity & Enterprise
Server-Sent EventsCommunity & Enterprise
JMSCommunity & Enterprise
gRPCCommunity & Enterprise
MQTTCommunity & Enterprise

SDK Language Choices

Every Gatling SDK exposes the same underlying engine, so you can pick the language that fits your team without giving anything up in terms of features, reporting, or cloud compatibility.
The most widely taught language in CS programs and the recommended starting point for new Gatling users. The Java SDK works with Maven, Gradle, or the standalone bundle.
import static io.gatling.javaapi.core.CoreDsl.*;
import static io.gatling.javaapi.http.HttpDsl.*;
import io.gatling.javaapi.core.*;
import io.gatling.javaapi.http.*;

public class BasicSimulation extends Simulation {
  HttpProtocolBuilder httpProtocol =
    http.baseUrl("https://api-ecomm.gatling.io")
        .acceptHeader("application/json");

  ScenarioBuilder scn =
    scenario("Scenario").exec(http("Session").get("/session"));

  {
    setUp(scn.injectOpen(constantUsersPerSec(2).during(60)))
      .protocols(httpProtocol);
  }
}

Community Edition vs Enterprise Edition

Both editions use the same simulation format, so scripts written for Community Edition run on Enterprise without modification.

Community Edition

Free and open source. Run simulations locally, generate full HTML reports, use all SDK features, and integrate with any CI system via Maven, Gradle, sbt, or npm.

Enterprise Edition

Managed SaaS platform. Distributed load generation across multiple geographic locations, real-time dashboards, team management, advanced permissions, and dedicated support. Try free for 14 days →
Community Edition scripts are 100% compatible with Enterprise Edition. Migrate at any time by packaging your project and uploading it to the Gatling Enterprise console — no code changes required.

Getting Help

Community Forum

Ask questions and get help from other Gatling users. Browse existing threads before posting — many common questions are already answered.

Enterprise Support

Enterprise Edition users can contact the support team directly from their workspace for priority assistance.

Build docs developers (and LLMs) love