awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Web Application Load Testing Tools

Ranking updated Jun 30, 2026

For a tool for stress testing web apps, the first results are gatling/gatling (Gatling is a leading open-source load testing framework that simulates concurrent virtual users over HTTP with scriptable scenarios, real-time metrics, and distributed load generation — exactly matching the search for a high-scale web load testing tool), artilleryio/artillery (Artillery is a Node.js load testing framework that simulates high-volume concurrent traffic, supports HTTP and distributed cloud-generation, and provides scriptable scenarios and real-time metrics—exactly what you need for load testing web applications) and joedog/siege. grafana/k6 and loadimpact/k6 round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

High-performance benchmarking frameworks designed to simulate massive concurrent user traffic against web application endpoints.

Web Application Load Testing Tools

Find the best repos with AI.We'll search the best matching repositories with AI.
  • gatling/gatlinggatling avatar

    gatling/gatling

    6,923View on GitHub↗

    Gatling is a load testing framework and traffic generation engine used to measure response times and error rates under heavy load. It functions as an as-code testing library, allowing users to define high-volume traffic simulations and performance tests through programming languages rather than graphical interfaces. The system enables multi-language load simulation and the ability to model concurrent user traffic to identify infrastructure bottlenecks and stability limits. It supports a test-as-code workflow, where version-controlled scripts are integrated into build pipelines as performance

    Gatling is a leading open-source load testing framework that simulates concurrent virtual users over HTTP with scriptable scenarios, real-time metrics, and distributed load generation — exactly matching the search for a high-scale web load testing tool.

    ScalaVirtual User SimulationReal-Time Monitoring Dashboards
    View on GitHub↗6,923
  • artilleryio/artilleryA

    artilleryio/artillery

    9,003View on GitHub↗

    Artillery is a Node.js load testing tool and performance testing framework used to generate high-volume synthetic traffic. It functions as a distributed load generator capable of spawning traffic from cloud infrastructure and Kubernetes clusters to simulate massive user loads. The project distinguishes itself through its ability to execute browser-based load tests using headless browsers to measure client-side rendering and real user journeys. It also serves as a protocol testing framework that validates multiple communication standards and real-time protocols through complex, multi-step tran

    Artillery is a Node.js load testing framework that simulates high-volume concurrent traffic, supports HTTP and distributed cloud-generation, and provides scriptable scenarios and real-time metrics—exactly what you need for load testing web applications.

    JavaScriptVirtual User Simulation
    View on GitHub↗9,003
  • joedog/siegeJoeDog avatar

    JoeDog/siege

    6,204View on GitHub↗

    Siege is an HTTP benchmarking utility and load testing tool used to analyze transaction rates and response times. It functions as a stress testing tool that pushes web servers to their limits to determine maximum sustainable load and failure points, while also serving as a performance analyzer for encrypted HTTPS connections. The tool distinguishes itself by simulating human browsing behavior through the use of random delays between requests and local management of cookies and authentication headers. This allows for more realistic user simulation and the assessment of server stability under c

    Siege is a command-line HTTP load testing tool that simulates multiple concurrent users with realistic browsing behavior and provides transaction rates and response time metrics, though its scripting and distributed load generation capabilities are more basic than modern full-featured tools.

    CVirtual User SimulationLoad Generation
    View on GitHub↗6,204
  • grafana/k6grafana avatar

    grafana/k6

    30,874View on GitHub↗

    k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic. The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance. Its capabilities cover workload scenario

    k6 is a JavaScript-driven load testing framework that simulates concurrent virtual users against HTTP APIs and web services, offering real-time metrics, scriptable scenarios, distributed execution via k6-operator, and comprehensive reporting, making it a complete fit for your web application load testing needs.

    GoVirtual User Simulation
    View on GitHub↗30,874
  • loadimpact/k6loadimpact avatar

    loadimpact/k6

    30,891View on GitHub↗

    k6 is a developer-centric load testing suite and command-line load generator designed for network performance validation. It functions as a JavaScript load testing tool that utilizes a Go-based runtime engine to simulate concurrent user traffic and validate API responses across HTTP, gRPC, and WebSockets. The project distinguishes itself by using code rather than a graphical interface to define workload scenarios and performance thresholds. It features a pluggable protocol architecture and an extension ecosystem that allows for the addition of custom protocols and specialized testing capabili

    k6 is a developer-focused load testing tool that uses JavaScript for scripting and a Go runtime to simulate thousands of concurrent virtual users against HTTP, gRPC, and WebSocket endpoints, making it a direct fit for your need to script and run scalable load tests with real-time metrics and protocol coverage.

    GoVirtual User Simulation
    View on GitHub↗30,891
  • apache/jmeterapache avatar

    apache/jmeter

    9,233View on GitHub↗

    Apache JMeter is a Java-based performance testing tool and multi-protocol traffic simulator used to analyze the stability and scalability of servers and networks. It functions as a distributed load testing framework that coordinates remote worker nodes from a single controller to generate high volumes of concurrent traffic. The project is distinguished by its ability to simulate traffic across diverse backend systems, including HTTP, JDBC, LDAP, JMS, FTP, and TCP. It provides a headless command-line interface for automated execution and a reporting system that transforms raw sample logs into

    Apache JMeter is a mature, distributed performance testing tool that simulates high concurrent user traffic over HTTP and other protocols, offering real-time metrics, scriptable test plans, and comprehensive reporting, exactly matching the requirements for web application load testing.

    JavaVirtual User SimulationPerformance Reporting
    View on GitHub↗9,233
  • tsenart/vegetatsenart avatar

    tsenart/vegeta

    25,070View on GitHub↗

    Vegeta is an HTTP load testing tool and library designed to measure the performance and stability of web services. It functions as a command-line utility, a programmable package for integration into other applications, and a distributed load generator capable of splitting request rates across multiple machines. The tool is distinguished by its constant-rate request scheduler, which dispatches requests at a fixed frequency regardless of target response times. It employs lazy target streaming to maintain low memory usage during large tests and uses a binary-encoded storage format to minimize di

    Vegeta is a dedicated HTTP load testing tool with first-class support for concurrent virtual user simulation, distributed load generation, and real-time metrics—exactly the kind of tool you need for scripting and executing high-concurrency tests against web services.

    GoPerformance ReportingTest Reporters
    View on GitHub↗25,070
  • locustio/locustlocustio avatar

    locustio/locust

    27,516View on GitHub↗

    Locust is a distributed performance testing framework that allows users to define complex system stress scenarios using standard Python code. By modeling concurrent users as classes with weighted tasks and lifecycle hooks, it enables the simulation of realistic user behavior across large-scale environments. The tool functions as a scalable load generator capable of orchestrating traffic across multiple worker nodes to measure system stability and responsiveness under heavy, real-world conditions. The framework is distinguished by its protocol-agnostic architecture, which supports diverse comm

    Locust is a distributed performance testing framework that simulates concurrent users via Python scripts, supports HTTP out of the box, provides real-time metrics through a web interface, and can scale across multiple worker nodes for distributed load generation—making it a comprehensive and flagship load testing tool for web applications.

    PythonReal-Time Monitoring Dashboards
    View on GitHub↗27,516
  • wg/wrkwg avatar

    wg/wrk

    40,327View on GitHub↗

    This project is a command-line HTTP load testing tool designed to measure the throughput and latency of web servers under high-concurrency conditions. It functions as a multi-threaded benchmarking engine that simulates thousands of simultaneous connections to evaluate server performance, identify bottlenecks, and determine capacity limits. The tool distinguishes itself through a shared-nothing thread architecture that isolates state within individual threads to eliminate lock contention during high-frequency request generation. It utilizes a non-blocking event loop and low-latency socket poll

    wrk is a command-line HTTP load testing tool that efficiently simulates thousands of concurrent connections and measures throughput and latency, but it lacks built-in scripting, distributed generation, and comprehensive reporting, so it is a narrower but genuine match for your web load testing need.

    CPerformance TestingBenchmarksKernel Networking
    View on GitHub↗40,327
  • rakyll/heyrakyll avatar

    rakyll/hey

    19,772View on GitHub↗

    This project is a command-line utility designed for HTTP load testing and network stress testing. It functions as a benchmarking tool that generates high volumes of concurrent traffic to evaluate the performance, reliability, and throughput capacity of web applications and APIs under sustained load. The tool allows for precise control over traffic generation by enabling users to configure request parameters, including custom headers, authentication credentials, and specific HTTP methods. It manages load through a worker-pool system that regulates request frequency, allowing for both time-boun

    Hey is a command-line HTTP load testing tool that simulates high concurrency via a worker-pool system and provides latency statistics, making it a good fit for basic load testing, though it lacks distributed generation and full reporting.

    GoLoad Testing ToolsPerformance BenchmarkingAPI Testing
    View on GitHub↗19,772
  • giltene/wrk2giltene avatar

    giltene/wrk2

    4,600View on GitHub↗

    wrk2 is a high-performance HTTP benchmarking tool and constant throughput load generator. It is designed to measure server stability and throughput by sending a fixed number of requests per second, functioning as a high-resolution latency profiler and a Lua-scriptable performance tester. The tool distinguishes itself through a scriptable interface that uses a high-performance just-in-time compiler to define complex request formats and custom response reporting logic. It employs high-resolution histograms to capture precise response time distributions and high-percentile latency data. The pro

    wrk2 is a focused HTTP load-testing tool that simulates concurrent connections and measures latency with high precision, but it lacks scriptable test scenarios, distributed load generation, and built-in reporting, making it a good fit for simple throughput benchmarks rather than comprehensive load testing.

    CLoad Generation
    View on GitHub↗4,600
  • fortio/fortiofortio avatar

    fortio/fortio

    3,703View on GitHub↗

    Fortio is a performance testing tool written in Go that generates constant request rates to measure latency histograms and response percentiles. It functions as a network performance benchmarker for analyzing system performance across HTTP and gRPC endpoints, and includes a specialized HTTP echo server for mirroring requests. The project distinguishes itself through a web-based HTTP load testing API used for triggering asynchronous tests and visualizing result data through graphs. It also provides server behavior simulation, allowing the echo server to inject artificial delays and vary respon

    Fortio is a load-testing library and CLI tool that simulates configurable HTTP/gRPC load, records latency histograms, and provides a web UI—fitting for concurrent user testing, though it lacks built-in distributed generation and a dedicated scripting language.

    GoConstant Throughput GeneratorsHTTP Load TestingConcurrent Network Workers
    View on GitHub↗3,703
  • httperf/httperfhttperf avatar

    httperf/httperf

    1,017View on GitHub↗

    The httperf HTTP load generator

    httperf is a classic HTTP load generator that simulates multiple concurrent connections for benchmarking web servers, but it offers no scriptable test scenarios, real-time metrics, distributed load generation, or detailed reporting, making it a narrower fit than modern alternatives.

    CLoad Testing Tools
    View on GitHub↗1,017
  • cmpxchg16/gobenchcmpxchg16 avatar

    cmpxchg16/gobench

    444View on GitHub↗

    HTTP/HTTPS load testing and benchmarking tool

    gobench is a command-line HTTP/HTTPS load testing and benchmarking tool written in Go, directly fitting the need for simulating concurrent users on web applications, though its support for scriptable scenarios and distributed generation is not specified in the available information.

    GoCommand Line ToolsLoad Testing Tools
    View on GitHub↗444
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
gatling/gatling6.9KScalaApache-2.0Jun 18, 2026
artilleryio/artillery9KJavaScriptMPL-2.0Jun 16, 2026
joedog/siege
6.2K
C
GPL-3.0
Jun 2, 2026
grafana/k630.9KGoAGPL-3.0Jun 23, 2026
loadimpact/k630.9KGoAGPL-3.0Jun 26, 2026
apache/jmeter9.2KJavaapache-2.0Feb 12, 2026
tsenart/vegeta25.1KGoMITFeb 16, 2026
locustio/locust27.5KPythonmitFeb 17, 2026
wg/wrk40.3KCNOASSERTIONDec 30, 2023
rakyll/hey19.8KGoapache-2.0Jan 10, 2026

Related searches

  • a load testing tool for simulating traffic on APIs
  • a load testing tool for APIs
  • an end-to-end testing framework for web apps
  • a directory brute-forcing tool
  • a SQL injection testing tool
  • a scalable tool for orchestrating headless browsers
  • a chaos engineering toolkit
  • a web fuzzing tool