Webship 1.5.0 capacity benchmark

Webship 1.5.0 compared with leading web servers and reverse proxies.

Explore Webship 1.5.0 request capacity, WebTransport, 100 MB streaming, and Layer-4 proxy throughput on an isolated Debian host. Each result includes its test topology and p50/p95/p99 latency.

Test platform
Debian GNU/Linux 12 · Intel Xeon Gold 5115
Webship measurement date
2026-09-21
Accepted samples
5 × at least 20 seconds
Reported unit
RPS, ops/s, MiB/s, ms, and µs

Direct static response

Median requests per second. Higher is better.

ServerHTTP/1.1HTTP/1.1 TLSh2cHTTP/2 TLSHTTP/3 TLS
Topology (C/F/O)5/5/—5/5/—5/5/—5/5/—5/5/—
Webship514,045 RPS336,831 RPS1,662,142 RPS1,357,786 RPS450,558 RPS
Nginx234,231 RPS187,333 RPS183,810 RPS247,359 RPS225,771 RPSUnstable
Lighttpd351,555 RPS201,838 RPS931,845 RPS726,869 RPSNot supported
Caddy41,633 RPS39,975 RPS28,498 RPS27,681 RPS34,306 RPS
HAProxy305,551 RPS182,640 RPS325,804 RPS236,337 RPS241,471 RPS
Envoy113,055 RPS96,375 RPS165,378 RPS154,936 RPS28,955 RPSUnstable
Pingora197,126 RPS144,833 RPS226,226 RPS163,314 RPSNot supported

Reverse proxy with TLS termination

Median requests per second. Higher is better.

ServerHTTP/1.1HTTP/1.1 TLSh2cHTTP/2 TLSHTTP/3 TLS
Topology (C/F/O)3/5/24/4/24/4/24/4/22/6/2
Webship244,315 RPS129,601 RPS142,362 RPS133,460 RPS145,824 RPS
Nginx163,606 RPS110,723 RPS107,931 RPS92,896 RPS97,231 RPSUnstable
Lighttpd44,815 RPS44,074 RPS44,325 RPS43,827 RPSNot supported
Caddy32,421 RPS29,695 RPS22,441 RPS21,933 RPS24,196 RPS
HAProxy136,514 RPS94,693 RPS127,281 RPS97,195 RPS93,577 RPS
Envoy41,183 RPS37,491 RPS42,566 RPS39,801 RPS16,386 RPSUnstable
Pingora68,687 RPS54,184 RPS58,620 RPS49,684 RPSNot supported

Reverse proxy with TLS pass-through

Median requests per second through an end-to-end TLS tunnel. Higher is better.

ServerHTTP/1.1 TLSHTTP/2 TLSHTTP/3 TLS
Topology (C/F/O)4/4/24/4/24/4/2
Webship226,930 RPS273,332 RPS225,625 RPS
NginxNot supportedNot supportedNot supported
LighttpdNot supportedNot supportedNot supported
CaddyNot supportedNot supportedNot supported
HAProxy187,772 RPS259,274 RPSNot supported
Envoy149,465 RPS238,003 RPSNot supported
PingoraNot supportedNot supportedNot supported

WebTransport capacity

Median payload throughput in MiB/s, with p50/p95/p99 latency for reliable streams and datagrams. Higher throughput is better.

ModeTopology (C/F/O)Reliable streams (MiB/s)Datagrams (MiB/s)Status
Direct5/5/—1,204.1 MiB/s1,172.5 MiB/sStable
Reverse TLS pass-through4/4/2634.8 MiB/s611.7 MiB/sStable

Direct 100 MB streaming

Median payload throughput for the 100 MB fixture in MiB/s. Higher is better.

ServerHTTP/1.1 TLSHTTP/2 TLSHTTP/3 TLS
Topology (C/F/O)5/5/—5/5/—5/5/—
Webship4,357.7 MiB/s4,289.1 MiB/s2,175.7 MiB/s
Nginx3,037.7 MiB/sUnstable4,120.4 MiB/s526.9 MiB/sUnstable
Lighttpd3,672.4 MiB/sUnstable4,451.2 MiB/sNot supported
Caddy3,269.3 MiB/s2,740.3 MiB/s1,443.5 MiB/s
HAProxyNot supportedNot supportedNot supported
EnvoyNot supportedNot supportedNot supported
Pingora2,241.8 MiB/s3,581.9 MiB/sNot supported

Reverse-proxy 100 MB streaming with TLS termination

Median payload throughput for the 100 MB fixture in MiB/s. Higher is better.

ServerHTTP/1.1 TLSHTTP/2 TLSHTTP/3 TLS
Topology (C/F/O)4/4/24/4/24/5/1
Webship3,849.7 MiB/s3,498 MiB/s2,161.6 MiB/s
Nginx1,053.2 MiB/s1,434.5 MiB/s474.3 MiB/s
Lighttpd1,302.9 MiB/sUnstable1,591.7 MiB/sUnstableNot supported
Caddy2,809.9 MiB/s2,077.8 MiB/s1,263 MiB/s
HAProxy2,659.3 MiB/s2,668.8 MiB/s1,127.6 MiB/s
Envoy2,801.3 MiB/sUnstable2,907.1 MiB/sFailed strict validation
Pingora2,578.2 MiB/s2,249.4 MiB/sNot supported

Reverse-proxy 100 MB streaming with TLS pass-through

Median payload throughput for the 100 MB fixture in MiB/s. Higher is better.

ServerHTTP/1.1 TLSHTTP/2 TLSHTTP/3 TLS
Topology (C/F/O)4/4/24/4/24/2/4
Webship2,787.9 MiB/s2,182.7 MiB/s1,938.7 MiB/s
NginxNot supportedNot supportedNot supported
LighttpdNot supportedNot supportedNot supported
CaddyNot supportedNot supportedNot supported
HAProxy2,778.4 MiB/s2,135 MiB/sNot supported
Envoy2,790.8 MiB/s2,135 MiB/sNot supported
PingoraNot supportedNot supportedNot supported

Layer-4 proxy capacity

Persistent TCP and UDP connections with exact echo validation. Higher throughput is better; latency is in microseconds. Saturation is client/frontend/origin CPU utilization.

C/F/O means client/frontend/origin physical cores. In the Layer-4 TLS pass-through table, p and t mean physical cores and logical SMT threads. A dash means that a direct test has no origin process.

TCP proxy

ServerOperations/sThroughput (MiB/s)Topology (C/F/O)p50 / p95 / p99 (µs)C/F/O CPU-set saturationC/F/O busiest task CPU
Webship250,712 ops/s489.7 MiB/s4/4/286.9%/99.5%/99.6%87.1%/99.5%/99.6%
Envoy173,639 ops/s339.1 MiB/s4/4/262.3%/99.4%/82.4%62.3%/99.5%/82.6%
HAProxy221,803 ops/s433.2 MiB/s4/4/279.8%/99.5%/97.3%80.0%/99.5%/97.3%
Nginx242,421 ops/s473.5 MiB/s4/4/284.9%/99.3%/96.9%84.9%/99.4%/97.0%

UDP proxy

ServerOperations/sThroughput (MiB/s)Topology (C/F/O)p50 / p95 / p99 (µs)C/F/O CPU-set saturationC/F/O busiest task CPU
Webship290,929 ops/s568.2 MiB/s4/4/284.1%/98.0%/98.1%84.2%/99.8%/98.1%
Envoy175,692 ops/s343.1 MiB/s4/4/259.0%/99.9%/70.3%59.1%/100.0%/70.6%
Nginx270,450 ops/s528.2 MiB/s4/4/283.6%/97.7%/95.4%83.8%/99.7%/95.5%

TLS pass-through

ServerOperations/sThroughput (MiB/s)Topology (C/F/O)p50 / p95 / p99 (µs)C/F/O CPU-set saturationC/F/O busiest task CPU
Webship260,054 ops/s507.9 MiB/s3p/6t · 4p/8t · 3p/6t91.6%/49.6%/91.0%91.9%/99.2%/91.0%
Envoy170,178 ops/s332.4 MiB/s3p/6t · 4p/8t · 3p/6t62.3%/49.6%/60.2%62.5%/99.2%/60.3%
HAProxy220,556 ops/s430.8 MiB/s3p/6t · 4p/8t · 3p/6t81.7%/49.6%/79.6%81.7%/99.2%/79.6%
Nginx248,282 ops/s484.9 MiB/s3p/6t · 4p/8t · 3p/6t90.3%/49.6%/88.7%90.4%/99.2%/88.7%

TLS termination

ServerOperations/sThroughput (MiB/s)Topology (C/F/O)p50 / p95 / p99 (µs)C/F/O CPU-set saturationC/F/O busiest task CPU
Webship196,216 ops/s383.2 MiB/s4/4/278.9%/99.5%/93.8%79.0%/99.6%/93.8%
Envoy147,247 ops/s287.6 MiB/s4/4/259.7%/99.5%/73.1%59.8%/99.6%/73.1%
HAProxy145,396 ops/s284 MiB/s4/4/256.3%/99.6%/70.3%56.4%/99.7%/70.4%
Nginx169,563 ops/s331.2 MiB/s4/4/269.9%/99.6%/85.0%70.0%/99.6%/85.0%

Reproducible method

Each supported result is the median of five accepted samples. TCP and TLS workloads include warm-up; HTTP/3 includes a calibrated prime.

Server and load-generator processes ran on disjoint physical cores. Reverse-proxy runs also isolated the static origin.

Every accepted sample passed zero-error correctness gates and the published stability limits. Failed samples are never silently included.

Webship 1.5.0 was rerun with the benchmarked PGO binary. Competitor values are retained from earlier accepted runs on the same Debian host; they were not rerun for this release. Compare each cell with its displayed topology and stability status.