# HttpArena > Independent webserver benchmarks across every major framework and protocol (H1, H2, H3, gRPC, WebSocket) in multiple categories. Every entry runs in a container on the same machine (AMD Ryzen Threadripper PRO 3995WX 64-Cores, 64 cores), pinned to dedicated cores, one connection count per run. Round: Alpha Round. The leaderboard at https://www.http-arena.com/ is rendered client-side, so the ranking below is the same data as text. Scores are the composite: each profile is worth 100 to the best entry in the field and a framework's score is the sum over the profiles of that family, scaled by its completeness factor - the entry loses 2.5% for each of routing, middleware, the request it hands you and the response it builds that it does not do, so the factor runs from 1.00 down to 0.90. Engine and infrastructure entries are not graded on it. ## HTTP/1.1 composite ranking - flagship and emerging, 82 entries ``` 1. genhttp-11-ioxide C# 898 2. bun TS 761 3. simplew-tuned C# 752 4. true-async-server PHP 726 5. fulmine-tuned JS 712 6. actix Rust 699 7. genhttp-11 C# 696 8. fulmine JS 696 9. trillium-tuned Rust 626 10. simplew C# 619 11. elysia TS 612 12. hyper-express JS 606 13. swoole PHP 605 14. trillium Rust 602 15. ultimate-express JS 592 16. genhttp-11-kestrel C# 540 17. vertx Java 539 18. genhttp-kestrel C# 513 19. quarkus-jvm Java 501 20. oxpecker F# 495 ``` Full field: https://www.http-arena.com/llms-full.txt ## HTTP/2 composite ranking - flagship and emerging, 22 entries ``` 1. true-async-server PHP 316 2. quarkus-jvm Java 275 3. wtx Rust 250 4. actix Rust 224 5. oxpecker F# 157 6. aspnet-minimal C# 134 7. fastendpoints C# 124 8. h2o-mruby Ruby 123 9. trillium-tuned Rust 98 10. php-fpm PHP 77 11. mq-bridge-py Python 76 12. mq-bridge Rust 74 13. genhttp-11-kestrel C# 72 14. swoole PHP 68 15. ktor-ghost Kotlin 60 16. genhttp-kestrel C# 55 17. ktor Kotlin 54 18. roadrunner Erlang 34 19. trillium Rust 28 20. spring-boot Java 11 ``` Full field: https://www.http-arena.com/llms-full.txt ## HTTP/3 composite ranking - flagship and emerging, 10 entries ``` 1. h2o-mruby Ruby 190 2. trillium-tuned Rust 115 3. php-fpm PHP 96 4. genhttp-11-kestrel C# 87 5. fastendpoints C# 74 6. aspnet-minimal C# 66 7. genhttp-kestrel C# 62 8. oxpecker F# 32 9. trillium Rust 22 10. roadrunner Erlang 9 ``` ## Gateway composite ranking - flagship and emerging, 6 entries ``` 1. aspnet-minimal + nginx C# 200 2. fulmine-tuned JS 157 3. fulmine JS 156 4. trillium Rust 126 5. trillium-tuned Rust 120 6. aspnet-minimal + caddy C# 91 ``` ## gRPC composite ranking - flagship and emerging, 6 entries ``` 1. wtx Rust 200 2. quarkus-jvm Java 140 3. aspnet-minimal C# 117 4. grpc-go Go 45 5. trillium-tuned Rust 38 6. trillium Rust 38 ``` ## WebSocket composite ranking - flagship and emerging, 23 entries ``` 1. fulmine-tuned JS 249 2. fulmine JS 248 3. genhttp-11-ioxide C# 245 4. wtx Rust 245 5. bun-websocket TS 189 6. actix Rust 178 7. genhttp-11 C# 161 8. beskar-websocket C# 129 9. genhttp-11-kestrel C# 110 10. aspnet-minimal C# 89 11. swoole PHP 88 12. lute Luau 73 13. simplew C# 67 14. trillium-tuned Rust 46 15. ktor-ghost Kotlin 45 16. ktor Kotlin 45 17. simplew-tuned C# 45 18. mq-bridge Rust 43 19. phoenix-bandit Elixir 37 20. trillium Rust 29 ``` Full field: https://www.http-arena.com/llms-full.txt ## Frameworks (115 entries, one results page each) - [Cardigan](https://www.http-arena.com/frameworks/cardigan/): Java, Engine. Rank per family and every per-profile number. - [Vinyl Cache](https://www.http-arena.com/frameworks/vinyl-cache/): C, Infrastructure. Rank per family and every per-profile number. - [actix](https://www.http-arena.com/frameworks/actix/): Rust, Flagship. Rank per family and every per-profile number. - [aiohttp](https://www.http-arena.com/frameworks/aiohttp/): Python, Flagship. Rank per family and every per-profile number. - [aleph](https://www.http-arena.com/frameworks/aleph/): Clojure, Emerging. Rank per family and every per-profile number. - [aspnet-minimal](https://www.http-arena.com/frameworks/aspnet-minimal/): C#, Flagship. Rank per family and every per-profile number. - [aspnet-minimal + caddy](https://www.http-arena.com/frameworks/aspnet-minimal-caddy/): C#, Flagship. Rank per family and every per-profile number. - [aspnet-minimal + nginx](https://www.http-arena.com/frameworks/aspnet-minimal-nginx/): C#, Flagship. Rank per family and every per-profile number. - [axum](https://www.http-arena.com/frameworks/axum/): Rust, Flagship. Rank per family and every per-profile number. - [beskar-websocket](https://www.http-arena.com/frameworks/beskar-websocket/): C#, Emerging. Rank per family and every per-profile number. - [bottle](https://www.http-arena.com/frameworks/bottle/): Python, Flagship. Rank per family and every per-profile number. - [bun](https://www.http-arena.com/frameworks/bun/): TS, Flagship. Rank per family and every per-profile number. - [bun-websocket](https://www.http-arena.com/frameworks/bun-websocket/): TS, Emerging. Rank per family and every per-profile number. - [caddy](https://www.http-arena.com/frameworks/caddy/): Go, Infrastructure. Rank per family and every per-profile number. - [chi](https://www.http-arena.com/frameworks/chi/): Go, Flagship. Rank per family and every per-profile number. - [deno](https://www.http-arena.com/frameworks/deno/): TS, Engine. Rank per family and every per-profile number. - [django](https://www.http-arena.com/frameworks/django/): Python, Flagship. Rank per family and every per-profile number. - [drogon](https://www.http-arena.com/frameworks/drogon/): C++, Flagship. Rank per family and every per-profile number. - [echo](https://www.http-arena.com/frameworks/echo/): Go, Flagship. Rank per family and every per-profile number. - [elysia](https://www.http-arena.com/frameworks/elysia/): TS, Flagship. Rank per family and every per-profile number. - [express](https://www.http-arena.com/frameworks/express/): JS, Flagship. Rank per family and every per-profile number. - [fastapi](https://www.http-arena.com/frameworks/fastapi/): Python, Flagship. Rank per family and every per-profile number. - [fastendpoints](https://www.http-arena.com/frameworks/fastendpoints/): C#, Flagship. Rank per family and every per-profile number. - [fastify](https://www.http-arena.com/frameworks/fastify/): JS, Flagship. Rank per family and every per-profile number. - [fastpysgi-asgi](https://www.http-arena.com/frameworks/fastpysgi-asgi/): Python, Engine. Rank per family and every per-profile number. - [fastpysgi-wsgi](https://www.http-arena.com/frameworks/fastpysgi-wsgi/): Python, Engine. Rank per family and every per-profile number. - [fiber](https://www.http-arena.com/frameworks/fiber/): Go, Flagship. Rank per family and every per-profile number. - [flask](https://www.http-arena.com/frameworks/flask/): Python, Flagship. Rank per family and every per-profile number. - [fletch](https://www.http-arena.com/frameworks/fletch/): Dart, Emerging. Rank per family and every per-profile number. - [fulmine](https://www.http-arena.com/frameworks/fulmine/): JS, Emerging. Rank per family and every per-profile number. - [fulmine-tuned](https://www.http-arena.com/frameworks/fulmine-tuned/): JS, Emerging. Rank per family and every per-profile number. - [genhttp-11](https://www.http-arena.com/frameworks/genhttp-11/): C#, Emerging. Rank per family and every per-profile number. - [genhttp-11-ioxide](https://www.http-arena.com/frameworks/genhttp-11-ioxide/): C#, Emerging. Rank per family and every per-profile number. - [genhttp-11-kestrel](https://www.http-arena.com/frameworks/genhttp-11-kestrel/): C#, Emerging. Rank per family and every per-profile number. - [genhttp-kestrel](https://www.http-arena.com/frameworks/genhttp-kestrel/): C#, Emerging. Rank per family and every per-profile number. - [gin](https://www.http-arena.com/frameworks/gin/): Go, Flagship. Rank per family and every per-profile number. - [go-fasthttp](https://www.http-arena.com/frameworks/go-fasthttp/): Go, Flagship. Rank per family and every per-profile number. - [go-stdlib](https://www.http-arena.com/frameworks/go-stdlib/): Go, Flagship. Rank per family and every per-profile number. - [go-websocket](https://www.http-arena.com/frameworks/go-websocket/): Go, Emerging. Rank per family and every per-profile number. - [grpc-go](https://www.http-arena.com/frameworks/grpc-go/): Go, Emerging. Rank per family and every per-profile number. - [h2o](https://www.http-arena.com/frameworks/h2o/): C, Infrastructure. Rank per family and every per-profile number. - [h2o-mruby](https://www.http-arena.com/frameworks/h2o-mruby/): Ruby, Flagship. Rank per family and every per-profile number. - [hono-bun](https://www.http-arena.com/frameworks/hono-bun/): TS, Flagship. Rank per family and every per-profile number. - [hono-node](https://www.http-arena.com/frameworks/hono-node/): TS, Flagship. Rank per family and every per-profile number. - [http-kit](https://www.http-arena.com/frameworks/http-kit/): Clojure, Emerging. Rank per family and every per-profile number. - [http.jl](https://www.http-arena.com/frameworks/http.jl/): Julia, Emerging. Rank per family and every per-profile number. - [http4k](https://www.http-arena.com/frameworks/http4k/): Kotlin, Flagship. Rank per family and every per-profile number. - [http4s](https://www.http-arena.com/frameworks/http4s/): Scala, Flagship. Rank per family and every per-profile number. - [humming-bird](https://www.http-arena.com/frameworks/humming-bird/): Swift, Flagship. Rank per family and every per-profile number. - [hyper](https://www.http-arena.com/frameworks/hyper/): Rust, Engine. Rank per family and every per-profile number. - [hyper-express](https://www.http-arena.com/frameworks/hyper-express/): JS, Emerging. Rank per family and every per-profile number. - [hyperf](https://www.http-arena.com/frameworks/hyperf/): PHP, Flagship. Rank per family and every per-profile number. - [koa](https://www.http-arena.com/frameworks/koa/): JS, Flagship. Rank per family and every per-profile number. - [ktor](https://www.http-arena.com/frameworks/ktor/): Kotlin, Flagship. Rank per family and every per-profile number. - [ktor-ghost](https://www.http-arena.com/frameworks/ktor-ghost/): Kotlin, Flagship. Rank per family and every per-profile number. - [lapis](https://www.http-arena.com/frameworks/lapis/): Lua, Flagship. Rank per family and every per-profile number. - [litestar](https://www.http-arena.com/frameworks/litestar/): Python, Flagship. Rank per family and every per-profile number. - [lute](https://www.http-arena.com/frameworks/lute/): Luau, Emerging. Rank per family and every per-profile number. - [micronaut](https://www.http-arena.com/frameworks/micronaut/): Java, Flagship. Rank per family and every per-profile number. - [minima-sync](https://www.http-arena.com/frameworks/minima-sync/): C#, Engine. Rank per family and every per-profile number. - [minima-ws](https://www.http-arena.com/frameworks/minima-ws/): C#, Engine. Rank per family and every per-profile number. - [mojolicious](https://www.http-arena.com/frameworks/mojolicious/): Perl, Flagship. Rank per family and every per-profile number. - [mq-bridge](https://www.http-arena.com/frameworks/mq-bridge/): Rust, Emerging. Rank per family and every per-profile number. - [mq-bridge-py](https://www.http-arena.com/frameworks/mq-bridge-py/): Python, Emerging. Rank per family and every per-profile number. - [nginx](https://www.http-arena.com/frameworks/nginx/): C, Infrastructure. Rank per family and every per-profile number. - [node](https://www.http-arena.com/frameworks/node/): JS, Engine. Rank per family and every per-profile number. - [node-h3](https://www.http-arena.com/frameworks/node-h3/): JS, Flagship. Rank per family and every per-profile number. - [oxpecker](https://www.http-arena.com/frameworks/oxpecker/): F#, Emerging. Rank per family and every per-profile number. - [phoenix-bandit](https://www.http-arena.com/frameworks/phoenix-bandit/): Elixir, Flagship. Rank per family and every per-profile number. - [php-fpm](https://www.http-arena.com/frameworks/php-fpm/): PHP, Flagship. Rank per family and every per-profile number. - [plug-cowboy](https://www.http-arena.com/frameworks/plug-cowboy/): Elixir, Flagship. Rank per family and every per-profile number. - [pyronova](https://www.http-arena.com/frameworks/pyronova/): Python, Experimental. Rank per family and every per-profile number. - [quarkus-jvm](https://www.http-arena.com/frameworks/quarkus-jvm/): Java, Flagship. Rank per family and every per-profile number. - [rack-falcon](https://www.http-arena.com/frameworks/rack-falcon/): Ruby, Engine. Rank per family and every per-profile number. - [rack-iodine](https://www.http-arena.com/frameworks/rack-iodine/): Ruby, Engine. Rank per family and every per-profile number. - [rage](https://www.http-arena.com/frameworks/rage/): Ruby, Flagship. Rank per family and every per-profile number. - [rails](https://www.http-arena.com/frameworks/rails/): Ruby, Flagship. Rank per family and every per-profile number. - [ring](https://www.http-arena.com/frameworks/ring/): Clojure, Emerging. Rank per family and every per-profile number. - [ring-http-exchange](https://www.http-arena.com/frameworks/ring-http-exchange/): Clojure, Emerging. Rank per family and every per-profile number. - [ring-jetty9-adapter](https://www.http-arena.com/frameworks/ring-jetty9-adapter/): Clojure, Emerging. Rank per family and every per-profile number. - [ringzero-ws](https://www.http-arena.com/frameworks/ringzero-ws/): C, Engine. Rank per family and every per-profile number. - [roadrunner](https://www.http-arena.com/frameworks/roadrunner/): Erlang, Emerging. Rank per family and every per-profile number. - [robyn](https://www.http-arena.com/frameworks/robyn/): Python, Emerging. Rank per family and every per-profile number. - [rocket](https://www.http-arena.com/frameworks/rocket/): Rust, Flagship. Rank per family and every per-profile number. - [roda](https://www.http-arena.com/frameworks/roda/): Ruby, Flagship. Rank per family and every per-profile number. - [sanic](https://www.http-arena.com/frameworks/sanic/): Python, Flagship. Rank per family and every per-profile number. - [sark](https://www.http-arena.com/frameworks/sark/): Rust, Engine. Rank per family and every per-profile number. - [servicestack](https://www.http-arena.com/frameworks/servicestack/): C#, Flagship. Rank per family and every per-profile number. - [simplew](https://www.http-arena.com/frameworks/simplew/): C#, Emerging. Rank per family and every per-profile number. - [simplew-tuned](https://www.http-arena.com/frameworks/simplew-tuned/): C#, Emerging. Rank per family and every per-profile number. - [sinatra](https://www.http-arena.com/frameworks/sinatra/): Ruby, Flagship. Rank per family and every per-profile number. - [sisk](https://www.http-arena.com/frameworks/sisk/): C#, Emerging. Rank per family and every per-profile number. - [slimeweb](https://www.http-arena.com/frameworks/slimeweb/): Python, Emerging. Rank per family and every per-profile number. - [spring-boot](https://www.http-arena.com/frameworks/spring-boot/): Java, Flagship. Rank per family and every per-profile number. - [starlette](https://www.http-arena.com/frameworks/starlette/): Python, Flagship. Rank per family and every per-profile number. - [swerver](https://www.http-arena.com/frameworks/swerver/): Zig, Experimental. Rank per family and every per-profile number. - [swoole](https://www.http-arena.com/frameworks/swoole/): PHP, Flagship. Rank per family and every per-profile number. - [symfony-spawn-tas](https://www.http-arena.com/frameworks/symfony-spawn-tas/): PHP, Emerging. Rank per family and every per-profile number. - [tokio](https://www.http-arena.com/frameworks/tokio/): Rust, Engine. Rank per family and every per-profile number. - [tokio-uring](https://www.http-arena.com/frameworks/tokio-uring/): Rust, Engine. Rank per family and every per-profile number. - [tokio-uring-ws](https://www.http-arena.com/frameworks/tokio-uring-ws/): Rust, Engine. Rank per family and every per-profile number. - [tokio-ws](https://www.http-arena.com/frameworks/tokio-ws/): Rust, Engine. Rank per family and every per-profile number. - [trillium](https://www.http-arena.com/frameworks/trillium/): Rust, Emerging. Rank per family and every per-profile number. - [trillium-tuned](https://www.http-arena.com/frameworks/trillium-tuned/): Rust, Emerging. Rank per family and every per-profile number. - [true-async-server](https://www.http-arena.com/frameworks/true-async-server/): PHP, Emerging. Rank per family and every per-profile number. - [ultimate-express](https://www.http-arena.com/frameworks/ultimate-express/): JS, Emerging. Rank per family and every per-profile number. - [userver](https://www.http-arena.com/frameworks/userver/): C++, Flagship. Rank per family and every per-profile number. - [uvicorn](https://www.http-arena.com/frameworks/uvicorn/): Python, Engine. Rank per family and every per-profile number. - [varnish](https://www.http-arena.com/frameworks/varnish/): C, Infrastructure. Rank per family and every per-profile number. - [vertx](https://www.http-arena.com/frameworks/vertx/): Java, Flagship. Rank per family and every per-profile number. - [vibe.d](https://www.http-arena.com/frameworks/vibe.d/): D, Emerging. Rank per family and every per-profile number. - [warp](https://www.http-arena.com/frameworks/warp/): Haskell, Flagship. Rank per family and every per-profile number. - [wtx](https://www.http-arena.com/frameworks/wtx/): Rust, Emerging. Rank per family and every per-profile number. - [zeemo](https://www.http-arena.com/frameworks/zeemo/): Zig, Engine. Rank per family and every per-profile number. - [zix](https://www.http-arena.com/frameworks/zix/): Zig, Engine. Rank per family and every per-profile number. ## Head-to-head comparisons - [Every language](https://www.http-arena.com/compare/all/): every profile of any two of the 115 entries, side by side, whatever they are written in. - [C](https://www.http-arena.com/compare/c/): every profile of any two of the 5 C entries, side by side. - [C#](https://www.http-arena.com/compare/csharp/): every profile of any two of the 15 C# entries, side by side. - [C++](https://www.http-arena.com/compare/cpp/): every profile of any two of the 2 C++ entries, side by side. - [Clojure](https://www.http-arena.com/compare/clojure/): every profile of any two of the 5 Clojure entries, side by side. - [Elixir](https://www.http-arena.com/compare/elixir/): every profile of any two of the 2 Elixir entries, side by side. - [Go](https://www.http-arena.com/compare/go/): every profile of any two of the 9 Go entries, side by side. - [Java](https://www.http-arena.com/compare/java/): every profile of any two of the 5 Java entries, side by side. - [JS](https://www.http-arena.com/compare/js/): every profile of any two of the 9 JS entries, side by side. - [Kotlin](https://www.http-arena.com/compare/kotlin/): every profile of any two of the 3 Kotlin entries, side by side. - [PHP](https://www.http-arena.com/compare/php/): every profile of any two of the 5 PHP entries, side by side. - [Python](https://www.http-arena.com/compare/python/): every profile of any two of the 15 Python entries, side by side. - [Ruby](https://www.http-arena.com/compare/ruby/): every profile of any two of the 7 Ruby entries, side by side. - [Rust](https://www.http-arena.com/compare/rust/): every profile of any two of the 13 Rust entries, side by side. - [TS](https://www.http-arena.com/compare/ts/): every profile of any two of the 6 TS entries, side by side. - [Zig](https://www.http-arena.com/compare/zig/): every profile of any two of the 3 Zig entries, side by side. ## Documentation - [Knowledge Base](https://www.http-arena.com/docs/): How the HttpArena benchmarks work: what each test profile measures, how the load generators drive traffic, and how results are scored. - [Add a Framework](https://www.http-arena.com/docs/add-framework/) (Knowledge Base): Submit a framework to HttpArena: create a Dockerfile, declare metadata, implement the required endpoints, and open a pull request. - [README Badge](https://www.http-arena.com/docs/add-framework/badges/) (Knowledge Base > Add a Framework): Add a live HttpArena rank badge to your project's README: one URL per protocol family, updated every time the leaderboard is republished. - [Directory Structure](https://www.http-arena.com/docs/add-framework/directory-structure/) (Knowledge Base > Add a Framework): The files every HttpArena entry provides under frameworks/, and what each one is used for during build, validation and benchmarking. - [Implementation Rules](https://www.http-arena.com/docs/add-framework/implementation-rules/) (Knowledge Base > Add a Framework): Every entry declares a type in meta.json. Learn which rules apply to framework, engine, infrastructure and experimental entries, and how each is ranked. - [Engine](https://www.http-arena.com/docs/add-framework/implementation-rules/engine/) (Knowledge Base > Add a Framework > Implementation Rules): Rules for engine entries: HTTP implementations applications are not written against - raw sockets, low-level I/O and protocol hosts - ranked separately from frameworks. - [Frameworks](https://www.http-arena.com/docs/add-framework/implementation-rules/frameworks/) (Knowledge Base > Add a Framework > Implementation Rules): How framework entries are grouped into the Flagship, Emerging and Experimental tiers, and what each tier requires of a submission. - [Standard](https://www.http-arena.com/docs/add-framework/implementation-rules/frameworks/standard/) (Knowledge Base > Add a Framework > Implementation Rules > Frameworks): Standard mode measures a framework in its default configuration — no experimental flags — reflecting what developers get out of the box. - [Tuned](https://www.http-arena.com/docs/add-framework/implementation-rules/frameworks/tuned/) (Knowledge Base > Add a Framework > Implementation Rules > Frameworks): Tuned mode allows non-default configuration, experimental flags and optimizations beyond what a framework ships with by default. - [Infrastructure](https://www.http-arena.com/docs/add-framework/implementation-rules/infrastructure/) (Knowledge Base > Add a Framework > Implementation Rules): Rules for infrastructure entries: reverse proxies and static-file servers such as nginx, Caddy and h2o, run without an application framework layer and ranked separately. - [meta.json](https://www.http-arena.com/docs/add-framework/meta-json/) (Knowledge Base > Add a Framework): Every field in a framework's meta.json: display name, language, type, mode, engine, maintainers, and the tests the entry subscribes to. - [Hardware & Topology](https://www.http-arena.com/docs/hardware/) (Knowledge Base): The reference machine behind every HttpArena result: an AMD Threadripper PRO 3995WX workstation, its CPU topology, and how cores are allocated. - [Load Generators](https://www.http-arena.com/docs/load-generators/) (Knowledge Base): HttpArena drives each transport with a purpose-built load generator. An overview of gcannon, wrk, h2load and h2load-h3, and when each is used. - [HTTP/1.1](https://www.http-arena.com/docs/load-generators/h1/) (Knowledge Base > Load Generators): The load generators behind the HTTP/1.1 profiles: gcannon for most workloads and wrk for URI-rotating static file tests. - [gcannon](https://www.http-arena.com/docs/load-generators/h1/gcannon/) (Knowledge Base > Load Generators > HTTP/1.1): gcannon is HttpArena's purpose-built HTTP/1.1 load generator, using Linux io_uring for zero-copy networking at very high request rates. - [wrk](https://www.http-arena.com/docs/load-generators/h1/wrk/) (Knowledge Base > Load Generators > HTTP/1.1): HttpArena uses wrk with a Lua script to rotate across 20 URIs for the static file profile, measuring realistic multi-asset page loads. - [HTTP/2](https://www.http-arena.com/docs/load-generators/h2/) (Knowledge Base > Load Generators): How HttpArena generates multiplexed HTTP/2 load for the TLS and cleartext (h2c) profiles. - [h2load](https://www.http-arena.com/docs/load-generators/h2/h2load/) (Knowledge Base > Load Generators > HTTP/2): h2load from the nghttp2 project drives every HTTP/2 profile in HttpArena, with configurable concurrent streams per connection. - [HTTP/3](https://www.http-arena.com/docs/load-generators/h3/) (Knowledge Base > Load Generators): How HttpArena generates HTTP/3 traffic over QUIC, and why a custom ngtcp2 build replaced the previous tool. - [h2load-h3](https://www.http-arena.com/docs/load-generators/h3/h2load-h3/) (Knowledge Base > Load Generators > HTTP/3): A custom h2load build linked against ngtcp2 that drives HttpArena's HTTP/3 profiles over QUIC with ALPN negotiation. - [WebSocket](https://www.http-arena.com/docs/load-generators/ws/) (Knowledge Base > Load Generators): HttpArena drives its WebSocket profiles with gcannon in --ws mode, reusing the same io_uring engine as the HTTP/1.1 tests. - [Running Locally](https://www.http-arena.com/docs/running-locally/) (Knowledge Base): Run the full HttpArena benchmark suite on your own machine, from prerequisites through to saving and comparing results. - [Archiving Rounds](https://www.http-arena.com/docs/running-locally/archiving-rounds/) (Knowledge Base > Running Locally): Snapshot the current results as a named round so previous benchmark generations stay browsable on the leaderboard. - [Configuration](https://www.http-arena.com/docs/running-locally/configuration/) (Knowledge Base > Running Locally): Every environment variable the benchmark driver accepts, plus the anatomy of a profile definition in profiles.sh. - [Manual load testing](https://www.http-arena.com/docs/running-locally/manual-load-testing/) (Knowledge Base > Running Locally): Start a framework container yourself, exercise individual endpoints, and run a load generator outside the benchmark harness. - [Prerequisites](https://www.http-arena.com/docs/running-locally/prerequisites/) (Knowledge Base > Running Locally): What to install before running HttpArena locally: Docker, the load generator toolchain, and the host settings the driver expects. - [Scripts Reference](https://www.http-arena.com/docs/running-locally/scripts/) (Knowledge Base > Running Locally): Every script in scripts/, what it does, and the arguments it takes — benchmark, validate, compare, archive and run. - [archive.sh](https://www.http-arena.com/docs/running-locally/scripts/archive/) (Knowledge Base > Running Locally > Scripts Reference): Snapshot current results as a named round, list archived rounds, or delete one, using scripts/archive.sh. - [benchmark.sh](https://www.http-arena.com/docs/running-locally/scripts/benchmark/) (Knowledge Base > Running Locally > Scripts Reference): The full-fidelity driver: runs a framework across every profile it subscribes to, tunes the host, collects metrics and saves results. - [benchmark-lite.sh](https://www.http-arena.com/docs/running-locally/scripts/benchmark-lite/) (Knowledge Base > Running Locally > Scripts Reference): The laptop-friendly benchmark driver: Docker-only load generators, no CPU pinning, reduced thread counts and a smaller profile subset. - [compare.sh](https://www.http-arena.com/docs/running-locally/scripts/compare/) (Knowledge Base > Running Locally > Scripts Reference): Diff a framework's local results against the published leaderboard data and emit a Markdown table of deltas for a pull request. - [run.sh](https://www.http-arena.com/docs/running-locally/scripts/run/) (Knowledge Base > Running Locally > Scripts Reference): Build and start a single framework container with all data volumes and a Postgres sidecar attached, for hands-on testing. - [validate.sh](https://www.http-arena.com/docs/running-locally/scripts/validate/) (Knowledge Base > Running Locally > Scripts Reference): Run the correctness suite against a framework: builds the image, starts the container and sidecars, and checks every subscribed endpoint. - [Setup](https://www.http-arena.com/docs/running-locally/setup/) (Knowledge Base > Running Locally): Clone HttpArena and install the native load generators, or take the Docker-only path if you would rather not build them. - [Scoring](https://www.http-arena.com/docs/scoring/) (Knowledge Base): How HttpArena turns per-profile throughput into the composite score that ranks frameworks across the whole test suite. - [Achievements](https://www.http-arena.com/docs/scoring/achievements/) (Knowledge Base > Scoring): Medals on the leaderboard: top three of a family composite, of a language and of a single test profile, always inside the entry's own league. - [Completeness](https://www.http-arena.com/docs/scoring/completeness/) (Knowledge Base > Scoring): The completeness factor: routing, middleware, request and response. Each one a framework leaves to you costs 2.5% of its composite score. - [Composite Score](https://www.http-arena.com/docs/scoring/composite-score/) (Knowledge Base > Scoring): The composite score explained: per-profile normalization, the sum across scored profiles, the compression adjustment and the memory bonus. - [Test Profiles](https://www.http-arena.com/docs/test-profiles/) (Knowledge Base): Every HttpArena benchmark profile, each isolating a different performance dimension so frameworks are compared on equal terms. - [Gateway](https://www.http-arena.com/docs/test-profiles/gateway/) (Knowledge Base > Test Profiles): Multi-service benchmark profiles: reverse proxy plus application server, with optional auth sidecars, caches and a database. - [Gateway H2](https://www.http-arena.com/docs/test-profiles/gateway/gateway-h2/) (Knowledge Base > Test Profiles > Gateway): A two-service proxy and server stack over HTTP/2 with TLS: the proxy serves static files from disk and forwards dynamic endpoints. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/gateway/gateway-h2/implementation/) (Knowledge Base > Test Profiles > Gateway > Gateway H2): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Gateway H2 proxy and server stack. - [Validation](https://www.http-arena.com/docs/test-profiles/gateway/gateway-h2/validation/) (Knowledge Base > Test Profiles > Gateway > Gateway H2): The correctness checks validate.sh runs against the Gateway H2 proxy and server stack before a framework's results are accepted. - [Gateway-H3](https://www.http-arena.com/docs/test-profiles/gateway/gateway-h3/) (Knowledge Base > Test Profiles > Gateway): The HTTP/3 sibling of the Gateway H2 profile: QUIC at the edge, the same mixed workload and the same 64-CPU budget. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/gateway/gateway-h3/implementation/) (Knowledge Base > Test Profiles > Gateway > Gateway-H3): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Gateway H3 proxy and server stack. - [Validation](https://www.http-arena.com/docs/test-profiles/gateway/gateway-h3/validation/) (Knowledge Base > Test Profiles > Gateway > Gateway-H3): The correctness checks validate.sh runs against the Gateway H3 proxy and server stack before a framework's results are accepted. - [Production Stack](https://www.http-arena.com/docs/test-profiles/gateway/production-stack/) (Knowledge Base > Test Profiles > Gateway): A four-service CRUD API deployment: reverse proxy, JWT auth sidecar, Redis cache and application server under concurrent reads and writes. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/gateway/production-stack/implementation/) (Knowledge Base > Test Profiles > Gateway > Production Stack): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the four-service Production Stack deployment. - [Validation](https://www.http-arena.com/docs/test-profiles/gateway/production-stack/validation/) (Knowledge Base > Test Profiles > Gateway > Production Stack): The correctness checks validate.sh runs against the four-service Production Stack deployment before a framework's results are accepted. - [gRPC](https://www.http-arena.com/docs/test-profiles/grpc/) (Knowledge Base > Test Profiles): gRPC benchmark profiles measuring Protocol Buffers over HTTP/2, in both cleartext (h2c) and TLS variants. - [Unary (gRPC)](https://www.http-arena.com/docs/test-profiles/grpc/unary/) (Knowledge Base > Test Profiles > gRPC): Measures unary gRPC call throughput over cleartext HTTP/2 using a simple GetSum remote procedure call. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/grpc/unary/implementation/) (Knowledge Base > Test Profiles > gRPC > Unary (gRPC)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the unary gRPC benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/grpc/unary/validation/) (Knowledge Base > Test Profiles > gRPC > Unary (gRPC)): The correctness checks validate.sh runs against the unary gRPC benchmark before a framework's results are accepted. - [H/1.1](https://www.http-arena.com/docs/test-profiles/h1/) (Knowledge Base > Test Profiles): HTTP/1.1 profiles, split into isolated single-endpoint benchmarks and multi-endpoint workload mixes. - [Isolated](https://www.http-arena.com/docs/test-profiles/h1/isolated/) (Knowledge Base > Test Profiles > H/1.1): Single-endpoint benchmarks that measure one dimension at a time: throughput, JSON serialization, uploads, static files and database access. - [Async Database (Postgres)](https://www.http-arena.com/docs/test-profiles/h1/isolated/async-database/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): Measures concurrent asynchronous Postgres queries over a network connection, exercising the framework's connection pooling and async I/O. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/async-database/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Async Database (Postgres)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the async Postgres benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/async-database/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Async Database (Postgres)): The correctness checks validate.sh runs against the async Postgres benchmark before a framework's results are accepted. - [Baseline](https://www.http-arena.com/docs/test-profiles/h1/isolated/baseline/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): The primary throughput benchmark: one request at a time per connection over persistent keep-alive connections. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/baseline/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Baseline): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 baseline throughput benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/baseline/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Baseline): The correctness checks validate.sh runs against the HTTP/1.1 baseline throughput benchmark before a framework's results are accepted. - [CRUD (REST API)](https://www.http-arena.com/docs/test-profiles/h1/isolated/crud/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): A realistic REST API workload against Postgres: paginated list, cached single-item read, create and update, with cache-aside invalidation. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/crud/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > CRUD (REST API)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the CRUD REST API benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/crud/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > CRUD (REST API)): The correctness checks validate.sh runs against the CRUD REST API benchmark before a framework's results are accepted. - [Fortunes (Templates)](https://www.http-arena.com/docs/test-profiles/h1/isolated/fortunes/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): Database-backed HTML rendering end to end: a Postgres read, runtime row injection, sorting and escape-aware template output. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/fortunes/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Fortunes (Templates)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the Fortunes template rendering benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/fortunes/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Fortunes (Templates)): The correctness checks validate.sh runs against the Fortunes template rendering benchmark before a framework's results are accepted. - [JSON Compressed](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-compressed/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): The JSON workload under content negotiation: the client advertises gzip and Brotli, and scoring accounts for the response size achieved. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-compressed/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > JSON Compressed): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the compressed JSON benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-compressed/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > JSON Compressed): The correctness checks validate.sh runs against the compressed JSON benchmark before a framework's results are accepted. - [JSON Processing](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-processing/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): A typical API workload: load a dataset, compute derived fields and serialize the JSON response under load. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-processing/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > JSON Processing): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the JSON processing benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-processing/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > JSON Processing): The correctness checks validate.sh runs against the JSON processing benchmark before a framework's results are accepted. - [JSON over TLS](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-tls/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): The JSON processing workload transported over HTTP/1.1 with TLS on a dedicated port, isolating encryption overhead. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-tls/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > JSON over TLS): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the JSON over TLS benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/json-tls/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > JSON over TLS): The correctness checks validate.sh runs against the JSON over TLS benchmark before a framework's results are accepted. - [Pipelined (16x)](https://www.http-arena.com/docs/test-profiles/h1/isolated/pipelined/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): Sixteen requests are sent back to back per connection before any response is read, isolating raw I/O throughput from application logic. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/pipelined/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Pipelined (16x)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP pipelining benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/pipelined/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Pipelined (16x)): The correctness checks validate.sh runs against the HTTP pipelining benchmark before a framework's results are accepted. - [Short-lived Connection](https://www.http-arena.com/docs/test-profiles/h1/isolated/short-lived/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): The baseline workload with each connection closed after ten requests, measuring TCP handshake and connection setup overhead. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/short-lived/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Short-lived Connection): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the short-lived connection benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/short-lived/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Short-lived Connection): The correctness checks validate.sh runs against the short-lived connection benchmark before a framework's results are accepted. - [Static Files (HTTP/1.1)](https://www.http-arena.com/docs/test-profiles/h1/isolated/static/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): Serves twenty static files of mixed type and size over HTTP/1.1, approximating a realistic page load. - [Static Files (HTTP/1.1 + TLS)](https://www.http-arena.com/docs/test-profiles/h1/isolated/static-tls/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): Serves twenty static files of mixed type and size over HTTP/1.1 + TLS, approximating a realistic page load over an encrypted connection. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/static-tls/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Static Files (HTTP/1.1 + TLS)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 + TLS static file benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/static-tls/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Static Files (HTTP/1.1 + TLS)): The correctness checks validate.sh runs against the HTTP/1.1 + TLS static file benchmark before a framework's results are accepted. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/static/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Static Files (HTTP/1.1)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/1.1 static file benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/static/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Static Files (HTTP/1.1)): The correctness checks validate.sh runs against the HTTP/1.1 static file benchmark before a framework's results are accepted. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/tls/validation/): The opt-in TLS section: certificate rotation, SNI, resumption, close_notify and the vulnerability suite, on the HTTP/1.1 TLS listener. - [Upload (20 MB)](https://www.http-arena.com/docs/test-profiles/h1/isolated/upload/) (Knowledge Base > Test Profiles > H/1.1 > Isolated): Measures large request body ingestion: the client posts a 20 MB payload and the server returns a checksum of what it received. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/isolated/upload/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Upload (20 MB)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the 20 MB upload benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/isolated/upload/validation/) (Knowledge Base > Test Profiles > H/1.1 > Isolated > Upload (20 MB)): The correctness checks validate.sh runs against the 20 MB upload benchmark before a framework's results are accepted. - [Workload](https://www.http-arena.com/docs/test-profiles/h1/workload/) (Knowledge Base > Test Profiles > H/1.1): Multi-endpoint benchmarks that exercise several code paths at once under constrained CPU and memory. - [API-16](https://www.http-arena.com/docs/test-profiles/h1/workload/api-16/) (Knowledge Base > Test Profiles > H/1.1 > Workload): The API workload with the server limited to 16 CPUs and 32 GB of memory, measuring how performance scales with more resources. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/workload/api-16/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Workload > API-16): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the API-16 constrained workload. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/workload/api-16/validation/) (Knowledge Base > Test Profiles > H/1.1 > Workload > API-16): The correctness checks validate.sh runs against the API-16 constrained workload before a framework's results are accepted. - [API-4](https://www.http-arena.com/docs/test-profiles/h1/workload/api-4/) (Knowledge Base > Test Profiles > H/1.1 > Workload): A mixed baseline, JSON and async database workload with the server limited to 4 CPUs and 16 GB of memory. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h1/workload/api-4/implementation/) (Knowledge Base > Test Profiles > H/1.1 > Workload > API-4): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the API-4 constrained workload. - [Validation](https://www.http-arena.com/docs/test-profiles/h1/workload/api-4/validation/) (Knowledge Base > Test Profiles > H/1.1 > Workload > API-4): The correctness checks validate.sh runs against the API-4 constrained workload before a framework's results are accepted. - [H/2](https://www.http-arena.com/docs/test-profiles/h2/) (Knowledge Base > Test Profiles): HTTP/2 profiles measuring multiplexed stream performance, in both TLS and cleartext prior-knowledge variants. - [Baseline (HTTP/2)](https://www.http-arena.com/docs/test-profiles/h2/baseline-h2/) (Knowledge Base > Test Profiles > H/2): The baseline throughput workload over encrypted HTTP/2 connections negotiated with TLS and ALPN. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h2/baseline-h2/implementation/) (Knowledge Base > Test Profiles > H/2 > Baseline (HTTP/2)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/2 TLS baseline benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h2/baseline-h2/validation/) (Knowledge Base > Test Profiles > H/2 > Baseline (HTTP/2)): The correctness checks validate.sh runs against the HTTP/2 TLS baseline benchmark before a framework's results are accepted. - [Baseline (H2c)](https://www.http-arena.com/docs/test-profiles/h2/baseline-h2c/) (Knowledge Base > Test Profiles > H/2): HTTP/2 cleartext on port 8082 with prior-knowledge framing, modelling proxy-to-origin and service-to-service traffic. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h2/baseline-h2c/implementation/) (Knowledge Base > Test Profiles > H/2 > Baseline (H2c)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/2 cleartext baseline benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h2/baseline-h2c/validation/) (Knowledge Base > Test Profiles > H/2 > Baseline (H2c)): The correctness checks validate.sh runs against the HTTP/2 cleartext baseline benchmark before a framework's results are accepted. - [JSON (H2c)](https://www.http-arena.com/docs/test-profiles/h2/json-h2c/) (Knowledge Base > Test Profiles > H/2): The JSON processing workload served over HTTP/2 cleartext, measuring serialization throughput without TLS overhead. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h2/json-h2c/implementation/) (Knowledge Base > Test Profiles > H/2 > JSON (H2c)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the JSON over HTTP/2 cleartext benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h2/json-h2c/validation/) (Knowledge Base > Test Profiles > H/2 > JSON (H2c)): The correctness checks validate.sh runs against the JSON over HTTP/2 cleartext benchmark before a framework's results are accepted. - [Static Files (HTTP/2)](https://www.http-arena.com/docs/test-profiles/h2/static-h2/) (Knowledge Base > Test Profiles > H/2): Serves twenty static assets over HTTP/2 with TLS, approximating a browser page load across multiplexed streams. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h2/static-h2/implementation/) (Knowledge Base > Test Profiles > H/2 > Static Files (HTTP/2)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/2 static file benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h2/static-h2/validation/) (Knowledge Base > Test Profiles > H/2 > Static Files (HTTP/2)): The correctness checks validate.sh runs against the HTTP/2 static file benchmark before a framework's results are accepted. - [H/3](https://www.http-arena.com/docs/test-profiles/h3/) (Knowledge Base > Test Profiles): HTTP/3 profiles measuring performance over QUIC. Only frameworks with native QUIC support take part. - [Baseline (HTTP/3)](https://www.http-arena.com/docs/test-profiles/h3/baseline-h3/) (Knowledge Base > Test Profiles > H/3): Measures raw request throughput over QUIC, the UDP-based transport behind HTTP/3. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h3/baseline-h3/implementation/) (Knowledge Base > Test Profiles > H/3 > Baseline (HTTP/3)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/3 baseline benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h3/baseline-h3/validation/) (Knowledge Base > Test Profiles > H/3 > Baseline (HTTP/3)): The correctness checks validate.sh runs against the HTTP/3 baseline benchmark before a framework's results are accepted. - [Static Files (HTTP/3)](https://www.http-arena.com/docs/test-profiles/h3/static-h3/) (Knowledge Base > Test Profiles > H/3): Serves twenty static assets over QUIC, approximating a browser loading page resources over HTTP/3. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/h3/static-h3/implementation/) (Knowledge Base > Test Profiles > H/3 > Static Files (HTTP/3)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the HTTP/3 static file benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/h3/static-h3/validation/) (Knowledge Base > Test Profiles > H/3 > Static Files (HTTP/3)): The correctness checks validate.sh runs against the HTTP/3 static file benchmark before a framework's results are accepted. - [WebSocket](https://www.http-arena.com/docs/test-profiles/ws/) (Knowledge Base > Test Profiles): WebSocket profiles measuring real-time bidirectional messaging throughput after an HTTP/1.1 upgrade. - [Echo (WebSocket)](https://www.http-arena.com/docs/test-profiles/ws/echo/) (Knowledge Base > Test Profiles > WebSocket): Measures WebSocket echo throughput: each connection upgrades over HTTP/1.1, then exchanges text messages one at a time. - [Echo Short-lived (WebSocket)](https://www.http-arena.com/docs/test-profiles/ws/echo-limited/) (Knowledge Base > Test Profiles > WebSocket): Measures WebSocket upgrade cost: each connection is closed after 10 echo messages, so the handshake is paid continuously rather than amortized. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/ws/echo-limited/implementation/) (Knowledge Base > Test Profiles > WebSocket > Echo Short-lived (WebSocket)): Endpoint contract and rules for the short-lived WebSocket profile, where each connection is retired after 10 echo messages and re-upgraded. - [Validation](https://www.http-arena.com/docs/test-profiles/ws/echo-limited/validation/) (Knowledge Base > Test Profiles > WebSocket > Echo Short-lived (WebSocket)): The short-lived WebSocket profile is validated by the same validate-ws.py checks as the Echo profile; the message limit is a load-generator behaviour. - [Echo Pipelined (WebSocket)](https://www.http-arena.com/docs/test-profiles/ws/echo-pipeline/) (Knowledge Base > Test Profiles > WebSocket): Measures WebSocket echo throughput with sixteen messages sent back to back before the first reply is read. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/ws/echo-pipeline/implementation/) (Knowledge Base > Test Profiles > WebSocket > Echo Pipelined (WebSocket)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the pipelined WebSocket echo benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/ws/echo-pipeline/validation/) (Knowledge Base > Test Profiles > WebSocket > Echo Pipelined (WebSocket)): The correctness checks validate.sh runs against the pipelined WebSocket echo benchmark before a framework's results are accepted. - [Implementation Guidelines](https://www.http-arena.com/docs/test-profiles/ws/echo/implementation/) (Knowledge Base > Test Profiles > WebSocket > Echo (WebSocket)): Endpoint contract, request and response shapes, and the anti-cheat constraints a framework must satisfy for the WebSocket echo benchmark. - [Validation](https://www.http-arena.com/docs/test-profiles/ws/echo/validation/) (Knowledge Base > Test Profiles > WebSocket > Echo (WebSocket)): The correctness checks validate.sh runs against the WebSocket echo benchmark before a framework's results are accepted. ## Data - [data.json](https://www.http-arena.com/data.json): every published result in one JSON document, the same one the board reads. - [Badge endpoints](https://www.http-arena.com/badge/index.json): per-framework rank, as shields.io endpoints. - [Source and framework entries](https://github.com/MDA2AV/HttpArena): every server implementation, Dockerfile and validation rule. ## Full text - [llms-full.txt](https://www.http-arena.com/llms-full.txt): the whole Knowledge Base and the full ranking of every family.