Nexagate is our web server. It sits in front of an app, talks to the world over HTTP/1.1, HTTP/2 and HTTP/3, handles HTTPS and its certificates, and passes requests on. We wrote it in Rust, from the ground up. Before trusting it with real traffic, we wanted to know how it compares with the servers everybody uses.
The test
- Six web servers, Nexagate, nginx, HAProxy, rpxy, Pingora, Caddy.
- One desktop computer, with four CPU cores for each server.
- Every server set up the way its own manual says.
- Only successful responses counted.
- Nexagate and nginx ran twice, taking turns. Their numbers show both runs.
The results
| Measure | Nexagate | nginx | HAProxy | rpxy | Pingora | Caddy |
|---|---|---|---|---|---|---|
| HTTP/2 requests a second | 211 to 219k | 155 to 159k | 142k | 104k | 85k | 23k |
| HTTPS requests a second, on open connections | 126 to 128k | 90 to 92k | 103k | 41k | 53k | 28k |
| New connections new secure connections a second | 15.1 to 15.2k | 7.5 to 7.8k | 7.4k | 14.5k | 12.5k | 7.1k |
| A 100 MiB file MiB a second | 15.8 to 16.8k | 2.1 to 2.3k | 14.3k | 4.6k | 4k | 3.9k |
| Memory at rest MiB when idle | 4.2 to 5.7 | 33 | 49 | 31 | 11 | 52 |
| CPU per request µs per HTTP/2 request | 14.3 to 14.8 | 18.9 to 19.4 | 21.5 | 31.2 | 38.9 | 150 |
Higher is better in the first four rows, lower in the last two. First place in violet. Measured on 29 September 2026.
Where it came first
On every measure in the table. On HTTP/2, Nexagate served 211,000 to 219,000 requests a second against nginx’s 155,000 to 159,000, and used 14.3 to 14.8 microseconds of CPU per request against nginx’s 18.9 to 19.4. It opened 15,100 to 15,200 new HTTPS connections a second, about twice nginx’s 7,500 to 7,800, and sent a 100 MiB file at 15,800 to 16,800 MiB a second. At rest, the whole process used 4.2 to 5.7 MiB of memory, where the next smallest, Pingora, used 11.
Where it did not
Plain HTTP/1.1 is a tie with nginx, and an idle plain connection costs 6.5 to 6.9 KiB against 3.9 for nginx.
We publish those as well. A benchmark that only shows wins is an advertisement.
How to read it
A test like this measures one setup on one day. Other hardware, other traffic and other settings will give other numbers. What it shows is that careful new software does not have to be slower than the old standards. In this test, it was faster.