cloudflare / quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
https://docs.quic.tech/quiche/
BSD 2-Clause "Simplified" License
9.44k stars 716 forks source link

nginx-quic with multi worker_processes? #795

Open FreeMind-LJ opened 3 years ago

FreeMind-LJ commented 3 years ago

i run nginx-quic with 8 worker_processes, then i run h2load to test the http3 performance, but h2load will hang after running for a while, but it works fine when i set worker_processes to 1.

nginx.conf:

worker_processes 8;

server {

    listen 443 quic reuseport;
    server_name lj.maligos.tk;
    ssl_certificate      lj.maligos.tk.crt;
    ssl_certificate_key  lj.maligos.tk.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    proxy_request_buffering off;
    ssl_prefer_server_ciphers  on;
    location / {
        root   html;
        index  index.html index.htm;
    }

}

here is h2load script: ./h2load --npn-list=h3-29 https://lj.maligos.tk/f100k -n 100000 -c 100 -t 5 hang at 30%

LPardue commented 3 years ago

You might be hitting the max requests limit. Can you try increasing https://github.com/cloudflare/quiche/tree/master/extras/nginx#http3_max_requests to something much larger than the number of requests h2load is making?

FreeMind-LJ commented 3 years ago

You might be hitting the max requests limit. Can you try increasing https://github.com/cloudflare/quiche/tree/master/extras/nginx#http3_max_requests to something much larger than the number of requests h2load is making?

i set http3_max_requests to 10000000, and run the script: /h2load --npn-list=h3-29 https://lj.maligos.tk/f100k -n 100000 -c 100 -t 5,h2load still hang after running for a while,hah~

LPardue commented 3 years ago

Thanks for trying. Can you confirm what version of quiche you're building against?

FreeMind-LJ commented 3 years ago

i ues the lastest code of branch master, the commit id is: 6c1e5b456d35c437dd6634ca4c0058ef6bf6ecbe

FreeMind-LJ commented 3 years ago

Thanks for trying. Can you confirm what version of quiche you're building against?

i don't know if it's the h2load's problem, by the way, what bench tool do you use to test the http3 performance