V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
KillAd
V2EX  ›  问与答

nginx 如何配置才能在 https 下载大文件时调用多个 CPU 核心?

  •  1
     
  •   KillAd · 2021-05-05 23:55:53 +08:00 · 382 次点击
    这是一个创建于 1086 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配置文件如下
    但是下载大文件的时候(文件超过 2GB)只吃满 1 个 CPU 核心,其他 3 个核心没有负载,然后速度也只有大概 30MB/s 跑不满带宽
    如果不开启 https,只使用 http 是可以跑满 4 个核心的,所以来求问需要如何配置才能在 https 下载时同时调用多个核心呢?

    worker_processes 4;
    
    events {
      worker_connections 1024;
    }
    
    http {
      include       mime.types;
      default_type  application/octet-stream;
      sendfile      on;
      types_hash_max_size 4096;
      server_names_hash_bucket_size 128;
    
      server {
        listen 80 default_server;
        return 301 https://$host$request_uri;
      }
    
      server {
        listen 443 http2 ssl;
            
        ssl_certificate /path/to/signed_cert_plus_intermediates;
        ssl_certificate_key /path/to/private_key;
        ssl_session_timeout 1d;
        ssl_session_cache off;
        ssl_session_tickets off;
    
        ssl_dhparam /path/to/dhparam.pem;
    
        ssl_protocols TLSv1.3;
        ssl_prefer_server_ciphers off;
    
        add_header Strict-Transport-Security "max-age=31536000" always;
    
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /path/to/signed_cert_plus_intermediates;
    
        resolver 1.1.1.1 8.8.8.8 valid=60s;
    
        location / {
          alias /download/;
          aio threads;
        }
      }
    }
    
    Qetesh
        1
    Qetesh  
       2021-05-06 00:27:45 +08:00 via iPhone
    可以考虑有个专门的 ssl 卸载,或者试试 reuseport 参数。没试过,希望楼主试过之后反馈下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5794 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 06:20 · PVG 14:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.