Baseline (HTTP/2)

Same workload as the HTTP/1.1 baseline — query parameter parsing and sum computation — but over encrypted HTTP/2 connections using TLS and ALPN negotiation.

Connections: 64, 256, 1,024 Concurrent streams per connection: 100

Workload

GET /baseline2?a=1&b=1 sent over HTTP/2 with TLS. The load generator (h2load) opens multiple connections, each multiplexing up to 100 concurrent streams.

What it measures

  • HTTP/2 multiplexing efficiency
  • TLS handshake and encryption overhead
  • How frameworks handle many concurrent streams per connection
  • HPACK header compression performance

Expected request/response

GET /baseline2?a=1&b=1 HTTP/2
HTTP/2 200 OK
Content-Type: text/plain

2

How it differs from baseline

Baseline (HTTP/1.1)Baseline (HTTP/2)
ProtocolHTTP/1.1 plaintextHTTP/2 over TLS
Connections512 - 16,38464 - 1,024
Requests per connection1 at a time100 concurrent streams
Load generatorgcannonh2load
Port80808443

HTTP/2 uses far fewer connections because each connection multiplexes many streams. The lower connection counts reflect real-world HTTP/2 usage patterns.

Parameters

ParameterValue
EndpointGET /baseline2?a=1&b=1
Connections64, 256, 1,024
Streams per connection100 (-m 100)
Duration5s
Runs3 (best taken)
Load generatorh2load