Prove di prestazioni versionate
Prestazioni edge di Rust che puoi verificare prima di dimensionare i server.
Le istantanee di benchmark immutabili collegano ogni risultato pubblicato a una release Webship, all'ambiente di test e alla data di misurazione.
- Piattaforma di test
- Debian GNU/Linux 12 · Intel Xeon Gold 5115
- Campioni accettati
- 5 × almeno 20 secondi
- Unità segnalata
- Richieste mediane al secondo
Risposta statica diretta
Richieste medie al secondo. Maggiore è meglio.
| Server | HTTP/1.1 | TLS HTTP/1.1 | h2c | HTTP/2 TLS | HTTP/3 TLS |
|---|---|---|---|---|---|
| Webship | 370.695,68 | 295.743,59 | 1.015.870,4 | 903.321,85 | 317.138 |
| Bun 1.4.0 | 372.219,68 | 255.396,19 | Non supportato | Non supportato | 230.417 |
| Nginx 1.30.4 | 240.142,5 | 185.768,53 | 192.324,4 | 248.365,2 | 153.415 |
| Lighttpd 1.4.85 | 356.939,44 | 208.937,56 | 906.863,8 | 748.882,3 | Non supportato |
| Caddy 2.11.4 | 40.261,01 | 38.991,09 | 27.528,05 | 26.978,05 | 25.998 |
| HAProxy 3.4.3 | 315.331,71 | 184.118,43 | 322.094,3 | 241.427,15 | 167.337 |
| Envoy 1.39.0 | 108.796,75 | 96.458,79 | 156.744,5 | 152.475,5 | 35.207 |
| Pingora 0.8.1 | 186.113,23 | 137.096,75 | 220.524,8 | 167.851,6 | Non supportato |
Proxy inverso
Richieste medie al secondo. Maggiore è meglio.
| Server | HTTP/1.1 | TLS HTTP/1.1 | h2c | HTTP/2 TLS | HTTP/3 TLS |
|---|---|---|---|---|---|
| Webship | 131.232,68 | 117.443,78 | 130.484 | 126.185,35 | 99.201 |
| Bun 1.4.0 | 85.216,58 | 73.177,59 | Non supportato | Non supportato | 57.273 |
| Nginx 1.30.4 | 166.486,78 | 116.404,58 | 116.547,15 | 89.214,5 | 75.715 |
| Lighttpd 1.4.85 | 52.428,64 | 50.443,84 | 52.687,4 | 49.841,15 | Non supportato |
| Caddy 2.11.4 | 30.768,2 | 28.295,09 | 22.329,65 | 20.932 | 17.761 |
| HAProxy 3.4.3 | 133.241,07 | 103.362,54 | 136.518,9 | 106.301,45 | 71.476 |
| Envoy 1.39.0 | 41.765,24 | 38.818,89 | 40.941,55 | 40.803,5 | 17.675 |
| Pingora 0.8.1 | 67.020,68 | 53.565,95 | 63.159,1 | 52.411,35 | Non supportato |
Metodo riproducibile
Ogni risultato supportato è la mediana di cinque campioni accettati. I carichi di lavoro TCP e TLS includono il riscaldamento; HTTP/3 include una fase di priming calibrata.
I processi del server e del generatore di carico sono stati eseguiti su core fisici separati. Il reverse-proxy è stato eseguito isolando anche l'origine statica.
Ogni campione accettato superava le porte di correttezza a errore zero e i limiti di stabilità pubblicati. I campioni falliti non vengono mai inclusi silenziosamente.
Un'istantanea pubblicata è immutabile. Le nuove versioni Webship ricevono nuove versioni di benchmark invece di sostituire i risultati storici.