Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Anyone serving requests with HTTP/3? How was your experience?

varwwwvarwww Veteran
edited May 2023 in General

Recent nginx 1.25.0 release added experimental HTTP/3 support. Anyone using it?

What are you currently using?
  1. What are you currently using?42 votes
    1. HTTP/1.1
      11.90%
    2. HTTP/2
      69.05%
    3. HTTP/3
      19.05%

Comments

  • yoursunnyyoursunny Member, IPv6 Advocate

    @SpartanHost DDoS protection service blocks high-rate UDP, which disrupts HTTP/3.
    Sad.

  • OP are you using it?

  • varwwwvarwww Veteran
    edited May 2023

    @let_rocks said:
    OP are you using it?

    Nope not yet. Server is still on HTTP/2 but I think Cloudflare serves HTTP/3 from their side.

    Thanked by 1greentea
  • eva2000eva2000 Veteran
    edited May 2023

    @varwww said:
    Recent nginx 1.25.0 release added experimental HTTP/3 support. Anyone using it?

    For 3+ years now been testing various Nginx HTTP/3 implementations from Cloudflare quiche based HTTP/3 with BoringSSL https://github.com/centminmod/centminmod-caddy-v2#http3-https-tests and Nginx's implementation with quicTLS OpenSSL forked implementation. Nginx's HTTP/3 implementation isn't as mature so it's only been for testing and not for production yet. If you want HTTP/3, just use Cloudflare with HTTP/3 enabled in front of your server. Nginx origin servers don't need HTTP/3 in that case behind Cloudflare since they only connect to origin servers via HTTP/1.1/2.

    Last tested on latest Centmin Mod LEMP stack beta with AlmaLinux 8 and Nginx 1.23.4 https://community.centminmod.com/threads/official-nginx-http-3-quic-tech-preview-announced.19865/page-2#post-96340

    But also tested on Nginx 1.25.0 with quicTLS for HTTP/3. Centmin Mod Nginx supports various crypto libraries like LibreSSL, OpenSSL 1.1.1/3.0/3.1, BoringSSL, quicTLS and CF Quiche so makes it easier to switch and test various HTTP/3 QUIC implementations.

    nginx -V
    nginx version: nginx/1.25.0 (250523-161146-almalinux8-a08d9ff)
    built by gcc 12.1.1 20220628 (Red Hat 12.1.1-3) (GCC) 
    built with OpenSSL 1.1.1t+quic  7 Feb 2023
    TLS SNI support enabled
    
    curl --http3 -I https://domain.com
    HTTP/3 200
    date: Thu, 25 May 2023 21:13:32 GMT
    content-type: text/html; charset=utf-8
    content-length: 6416
    last-modified: Sat, 20 May 2023 21:18:27 GMT
    vary: accept-encoding
    etag: "64693923-1910"
    server: nginx centminmod
    x-powered-by: centminmod
    alt-svc: h3=":443"; ma=86400
    x-protocol: HTTP/3.0
    accept-ranges: bytes
    

    Rebuilt h2load with HTTP/3 support for more load testing with my h2load benchmark tool https://github.com/centminmod/h2load-benchmarks#json-parsed-http3-test

    h3 protocol h2load tests

    ./h2load-bench.sh -t1 -c10 -n100 -u https://domain.com | grep -oP '{.*}' | jq -r
    {
      "time": "10.12ms",
      "req_per_sec": "9877.52",
      "mbs": "21.17MB/s",
      "total_req": "100",
      "started_req": "100",
      "done_req": "100",
      "succeeded_req": "100",
      "failed_req": "0",
      "errored_req": "0",
      "timeout_req": "0",
      "status_2xx": "100",
      "status_3xx": "0",
      "status_4xx": "0",
      "status_5xx": "0",
      "total_traffic": "219.42KB",
      "header_traffic": "18.26KB",
      "data_traffic": "200.49KB",
      "req_min": "2.35",
      "req_max": "4.78",
      "req_mean": "3.91",
      "req_sd": "807us",
      "req_sd_pct": "60.00%",
      "conn_min": "2.65",
      "conn_max": "5.50",
      "conn_mean": "4.04",
      "conn_sd": "955us",
      "conn_sd_pct": "60.00%",
      "first_byte_min": "6.62",
      "first_byte_max": "9.14",
      "first_byte_mean": "7.75",
      "first_byte_sd": "930us",
      "first_byte_sd_pct": "70.00%",
      "req_s_min": "1050.69",
      "req_s_max": "1374.58",
      "req_s_mean": "1216.51",
      "req_s_sd": "113.10",
      "req_s_sd_pct": "113.10",
      "cipher": "TLS_AES_256_GCM_SHA384",
      "tempkey": "X25519",
      "protocol": "h3",
      "threads": "1",
      "connections": "10",
      "duration": "null",
      "warm_up_time": "null",
      "requests": "100",
      "udp_sent": "52",
      "udp_received": "251"
    }
    
Sign In or Register to comment.